2013-08-26 36 views
1

如何通过错误将它们显示在模板中,使用干净和常用的方式?正确地将查看错误传递给Django模板

我想通过覆盖框消息显示错误。

  • 为每个返回传递一个Error对象?
  • 将它推入会话中,并在模板中检查它?
  • 使用Ajax方法从模板中检查?
  • 使用常见错误模板页面? (不是非常用户友好..)

我很困惑,当使用HttpResponseRedirect;除非使用会话变量,否则不可能传递错误。

+0

有你看着的消息框架,https://docs.djangoproject.com/en/dev/ref/contrib/messages/ – Rohan

回答

5

通常的方法是使用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 %} 
+0

似乎完美的:p我会测试它 –

+0

测试。完美! –

+0

真棒,太ಥ‿ಥ了 –