Equ*_*Dev 2 django django-forms
提交表单时建议使用POST-Redirect-GET模式,以便在用户刷新时无效重新发送POST数据.这可以在处理POST数据的视图中完成,代码如下:
def get_name(request):
if request.method == 'POST':
form = NameForm(request.POST)
if form.is_valid():
interesting_information = 'Feedback after form submit'
return HttpResponseRedirect('/thanks/')
Run Code Online (Sandbox Code Playgroud)
但是使用这个方案,如何interesting_information向用户显示,例如可能是基于提交的表单的状态信息?
您可以使用Django的消息框架在表单处理视图中设置消息:
from django.contrib import messages
messages.success(request, 'Feedback after form submit')
Run Code Online (Sandbox Code Playgroud)
并在/感谢/页面上将其显示给用户:
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
您需要确保首先按照文档"[启用消息]"(https://docs.djangoproject.com/en/1.8/ref/contrib/messages/#enabling-messages)部分中的步骤操作.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |