成功插入后如何显示成功消息

时间:2015-08-19 10:39:24

标签: python django django-class-based-views

我希望在提交表单后在我的模板页面中显示成功消息。我被重定向到同一页面。

xxx.html

 {% if messages %}
     {{ messages }}
 {% endif %}

views.py

 return HttpResponseRedirect(reverse('report'),{'messages':'hai'})

我没有得到任何东西。我收到错误,如找不到 Noreversematch 关键字参数。

 Traceback Error:
   Reverse for 'report' with arguments '()' and keyword arguments '{}' not found.
在urls.py中

  url(r'^(?P<name>[\w\d_\.\-]+)/reports-issue$', IssueMailSent.as_view(), name='report')

1 个答案:

答案 0 :(得分:0)

当您HttpResponseRedirect时,您告诉用户的浏览器重定向到新的网址。您不能包含上下文,因此无法以这种方式包含消息。

显示成功消息的最简单方法是使用Django的内置消息框架。您创建消息,然后重定向。

messages.success(request, "hai")
return HttpResponseRedirect(reverse('report'))

请参阅messages docs以获取完整说明。