2012-08-09 72 views
3

我得到了一个500错误页面,它有一个表单,但是当引发500错误页面时不会生成CSRF标记。在500个错误页面上生成CSRF令牌以使表单发布工作的最佳方式是什么?我应该只是定义自己的自定义500错误视图?Django CSRF在500错误页面上的一个表格

+0

什么是产生错误? Django的?您?你的服务器? – 2012-08-09 19:54:49

+0

我们假设Django抛出错误并呈现500.html – 2012-08-09 19:56:29

+0

如果是这种情况,并且页面应该按设计抛出500个服务器错误,那么您需要找到产生错误的东西,抓住它并相应地处理它。 – 2012-08-09 19:58:25

回答

0

OK,我试图定义自定义的500视图和工作,任何人谁具有同样的问题,在这里它是如何:

定义自定义500错误观点

from django.shortcuts import render 

def server_error(request): 
    vars = {} 
    return render(request, '500.html', vars, status=500) 

然后在主网址.py添加:

handler500 = 'your_app.views.errors.server_error' 
+1

问题在于,当出现真正的问题时,响应会以HTTP状态码200(成功)发送。当AJAX调用实际上失败时认为响应成功了,这只是我的一点点。将状态= 500添加到您的呈现调用。 – velotron 2013-01-15 03:24:46