我是使用django模板/前端的新手,我想使用django中的自定义消息重定向到页面。
这是我尝试过的方法,但是我无法使其正常工作。
查看
return redirect("/login",custom_error="Try Again Later")
Login.html
{% if custom_error %}
<p class="errornote">
{{ custom_error }}
</p>
{% endif %}
关于如何进行这项工作的任何建议?
答案 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 %}