如何让客户端知道Django是否成功处理了POST数据?如果是,它将重置当前视图,如果不是,则应该发出通知警报。
def test_page(request):
if request.method == "POST":
newgroup = request.POST["group"]
print "Received result"
# assert validateGroup(newgroup)
t = Trial(group = newgroup, time = timezone.now(), subject = request.user)
t.save()
return render_to_response('interface/test.html',\
context_instance=RequestContext(request))
这就是我所做的,但绝对没有尝试和阻止。
答案 0 :(得分:1)
您可以使用Django消息框架
在Web应用程序中,您需要显示一次性 通知消息(也称为“flash消息”)之后给用户 处理表单或其他类型的用户输入。
https://docs.djangoproject.com/en/1.7/ref/contrib/messages/
或者,您可以在模板中添加一个额外的变量,并在页面中显示错误。
def test_page(request):
if request.method == "POST":
try:
# form-processing code
except ValueError:
# go back to previous page and show errors
return render(request, 'previous_page.html',
{'errors'=['Problem!']})
# this will be rendered when above exception is not encountered
return render_to_response('interface/test.html',\
context_instance=RequestContext(request))
在模板(previous_page.html
)中,您可以这样做:
{% for err in errors %}
<div class="error-box">
{ err }
</div>
{% endfor %}
error-box
类强调您的错误消息为可忽略通知,或者您想要显示它。