如何使用干净通用的方式传递错误以在模板中显示它们?
我想通过覆盖框消息显示错误。
- 为每个返回传输一个错误对象?
- 在会话中推送它,并在模板中检查它?
- 使用 Ajax 方法从模板中检查?
- 使用常见的错误模板页面?(不是很用户友好..)
使用 HttpResponseRedirect 时我很困惑;除非使用会话变量,否则不可能传递错误。
如何使用干净通用的方式传递错误以在模板中显示它们?
我想通过覆盖框消息显示错误。
使用 HttpResponseRedirect 时我很困惑;除非使用会话变量,否则不可能传递错误。
通常的方法是使用Django 的消息框架,就像 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 %}