【发布时间】:2018-05-01 16:12:46
【问题描述】:
在我的 django 应用程序中,我正在输入表单。一旦验证该表单,我将在 Django Message Framework 的帮助下显示成功消息。
当前状态
提交表单后,当我将模板重定向到相同的 url(表单本身的 url)时,我能够在模板中显示成功消息
我的意见.py
if form.is_valid():
form_data = form.save()
messages.success(request, 'Submited Successfully')
return redirect('form-url')
我想要什么
提交表单后,我想在同一页面上显示一条成功消息(form-url),然后我想重定向到一个新的 URL list-of-submitted-forms。
为此我对我的views.py做了类似的事情
if form.is_valid():
form_data = form.save()
messages.success(request, 'Submited Successfully')
return redirect('list-of-submitted-forms')
我面临的问题
我正在重定向到一个新的 url。但是在 form-url 页面上没有收到成功消息。当我再次转到 form-url 页面时(通过单击重定向到该 url 的按钮)'Submited Successfully' 的消息显示了
我的 HTML/JS
<script>
{% if messages %}
{% for message in messages %}
{% if message.tags == "success" %}
swal({text:"{{ message }}",icon: "success",timer: "4000",buttons: false})
{% endif %}
{% endfor %}
{% endif %}
【问题讨论】:
-
您可以删除视图中的
return redirect('list-of-submitted-forms'),并让消息显示在模板中,其中包含一个链接,只需单击即可将用户重定向到list-of-submitted-forms。当你这样做时隐藏表单,或者重置它 -
意味着我应该在我的模板中进行更改,并且就views.py 而言,我应该坚持使用
redirect('form-url) 就是你说的如果我错了请纠正我 -
发给你html代码,我会用