我是新手与django工作。我需要简单的例子。如何提交表单(后)不刷新页面使用Django, AJAX ,jQuery?
这是我的表单、视图和模板:
views.py
from django.shortcuts import *
from django.template import RequestContext
from linki.forms import *
def advert(request):
if request.method == "POST":
form = AdvertForm(request.POST)
if(form.is_valid()):
print(request.POST['title'])
message = request.POST['title']
else:
message = 'something wrong!'
return render_to_response('contact/advert.html',
{'message':message},
context_instance=RequestContext(request))
else:
return render_to_response('contact/advert.html',
{'form':AdvertForm()},
context_instance=RequestContext(request))
forms.py (form 使用“模型表单”)
from django import forms
from django.forms import ModelForm
from linki.models import Advert
class AdvertForm(ModelForm):
class Meta:
model = Advert
模板(表单html代码)
<html>
<head>
</head>
<body>
<h1>Leave a Suggestion Here</h1>
{% if message %}
{{ message }}
{% endif %}
<div>
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit Feedback" />
</form>
</div>
</body>
</html>
5条答案
按热度按时间zqry0prt1#
如果你计划使用ajax submit with jquery,你不应该从你的视图返回html ..我建议你这样做:
网页:
司法系统
该网站views.py
因此,如果您将响应放在
message
div中,则应该返回json,而不是返回普通html。8qgya5xd2#
6qftjkof3#
mrfwxfqh4#
Here是一个完美的教程,我将包括重要的部分:
首先将this jQuery scripts添加到
main.js
并将其链接到您的页面。将此代码添加到
main.js
(我将包括我的版本发送博客评论)我用于获取评论的
views.py
看起来像这样:最后是
urls.py
的url部分,它没有包含在原始教程中:uwopmtnx5#
不要忘记将
csrf_token
添加到ajax
post请求中。这样我们就可以安全地提交表单,而无需重新加载。
在脚本. js中
在www.example.com上Views.py