3

我得到了一个包含表单的 500 错误页面,但是当抛出 500 错误页面时,不会生成 CSRF 令牌。在 500 错误页面上生成 CSRF 令牌以使表单发布工作的最佳方法是什么?我应该只定义自己的自定义 500 错误视图吗?

4

2 回答 2

0

好的,我尝试定义自定义 500 视图并工作,对于任何有同样问题的人,这里是如何:

定义自定义 500 错误视图

from django.shortcuts import render

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

然后在主 urls.py 添加:

handler500 = 'your_app.views.errors.server_error'
于 2012-08-09T20:30:07.440 回答
0

您必须在 ajax 请求中传递令牌

                          var data = {
                            errorresponse: errorresponse,
                            'csrfmiddlewaretoken': '{{ csrf_token }}',
                            }
                                 
                            $.ajax({
                                type: "POST",
                                url: "/your-target-url/",  
                                data: data,  // this passes data context into view
                                success: function(data) {
于 2021-04-02T21:09:42.360 回答