Django, чтобы сохранить данные формы в базе данных и получить обратно с помощью ajax

Я хочу сохранить данные в базе данных и вернуться на ту же страницу с помощью Ajax. Я добавил код для вашей справки. Пожалуйста, поделитесь своими идеями.

models.py

class Personal(models.Model):
    user=models.ForeignKey(User)
    name=models.CharField()
    dob = models.CharField()
    email = models.EmailField()
    address1 = models.CharField()
    address2 = models.CharField()
    country = models.CharField()
    state = models.CharField()
    city = models.CharField()

Views.py

def profile(request):
    userid=request.user.id
    personal=JSPersonal.objects.filter(user_id=userid)
    return render(request,'registration/profile.html', {'personal':personal})

шаблоны(profile.html)

{% if personal %}
{% for p in personal %}
<p>Name : {{p.name}}</p>
<p>DOB : {{p.dob}}</p>
<p>Email : {{p.email}}</p>
<p>Address1 : {{p.address1}}</p>
<p>Address2 : {{p.address2}}</p>
<p>Country : {{p.country}}</p>
<p>State : {{p.state}}</p>
<p>City:{{p.city}}</p>
{% endfor %}
{%else%}
<p>Click <a href="#">Here</a> to add details</p>
{% endif %}

Нажав на форму модели «Здесь», загрузите ее здесь, чтобы ввести личные данные. Здесь мне нужно сохранить данные в базе данных и вернуться на ту же страницу, как только я нажму кнопку «Отправить» в форме модели. Загружается только определенный контент, а не вся страница.


person user    schedule 30.07.2013    source источник


Ответы (2)


Основная идея заключается в том, что вы помещаете элемент с идентификатором вокруг данных, которые будут изменяться, и нацеливаете этот идентификатор с помощью вызова jQuery.load.

см.: Визуализация таблицы django с использованием ajax

person Thomas    schedule 30.07.2013

Рекомендую для таких задач использовать формы: https://docs.djangoproject.com/en/dev/topics/forms/

В этом случае вы можете легко отправить форму с помощью jQuery $.post():

$.post('/form/url/', $('form_selector').serialize())
  .done(function(data) { ... })
  .fail(function(jqXHR) { ... });

Более подробный ответ: Как отправить форму django с помощью AJAX и jQuery

person GreyZmeem    schedule 30.07.2013