0

我想将详细信息保存在数据库中并使用 Ajax 检索回同一页面。我添加了代码供您参考。请分享您的想法。

模型.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()

视图.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 %}

通过单击“此处”模型表单在此处加载,有一个空间可以输入个人详细信息。在这里我需要将详细信息存储在数据库中,并在单击模型表单中的提交按钮后返回同一页面。仅加载特定内容而不是整个页面。

4

2 回答 2

0

我建议您为此类任务使用表单:https ://docs.djangoproject.com/en/dev/topics/forms/

在这种情况下,您可以使用 jQuery $.post() 轻松发送表单:

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

更详细的回复: How to POST a django form with AJAX & jQuery

于 2013-07-30T08:43:57.733 回答
0

基本思想是在将要更改的数据周围放置一个带有 ID 的元素,并通过jQuery.load调用来定位该 ID。

请参阅:使用 ajax 渲染 django 表

于 2013-07-30T08:30:19.173 回答