在Django模板中访问状态码
我已经生成了一个响应,这个响应会调用相应的模板。对于错误模板,我想根据返回的HTTP状态码显示不同的信息,但我遇到了一个问题,就是不知道怎么获取这个响应的状态码。我使用的是
render_to_response(), context_instance=RequestContext(request))
2 个回答
0
如果在处理请求的时候出现了错误,Django会在上下文中插入一个叫做exception
的变量,你可以在模板中获取这个变量:
<p>exception: {{ exception }}</p>
比如说,当exception
是404的时候,输出的内容就是Http404
5
我觉得在模板中访问状态码是不可能的,因为Django是根据渲染过程的结果来确定状态码的。这意味着模板是先被渲染的,然后比如说如果没有错误,你就会得到状态码200。
如果你只是想定制403、404和500这些状态码的模板,你可以使用自定义错误视图,或者直接使用自定义的错误模板(比如在模板目录下的404.html)。