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