Django重定向并显示自定义错误消息

时间:2019-08-07 09:18:23

标签: django django-templates django-views django-admin

我是使用django模板/前端的新手,我想使用django中的自定义消息重定向到页面。

这是我尝试过的方法,但是我无法使其正常工作。

查看

return redirect("/login",custom_error="Try Again Later")

Login.html

{% if custom_error %}
<p class="errornote">
    {{ custom_error }}
</p>
{% endif %}

关于如何进行这项工作的任何建议?

1 个答案:

答案 0 :(得分:1)

对网址中的错误消息进行编码。您可以为此使用Django message framework [Django-doc]

在发出请求之前,请添加一条消息:

from django.contrib import messages

messages.error('Try again later')
return redirect('name-of-login-view')

另外,最好指定视图的名称而不是路径,因为路径以后可能会更改。

在模板中,最好是在base.html模板中,该模板被(大多数)其他模板继承,然后可以使用以下命令呈现此模板:

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}