如何使用干净且通用的方式传递错误以在模板中显示它们?
我想通过叠加框信息显示错误。
使用HttpResponseRedirect时我很困惑;除非使用会话变量,否则无法传递错误。
答案 0 :(得分:9)
通常的方法是使用Django's message framework,就像Rohan说的那样。
您可以使用此代码将错误传递给模板:
from django.contrib import messages
def my_view(request):
…
messages.error(request, 'Oops, something bad happened')
return redirect…
您可以在base.html
模板中添加以下代码以显示这些消息(此处使用引导类):
{% if messages %}
<div class="span12">
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
{{ message|safe }}
</div>
{% endfor %}
</div>
{% endif %}