我有一个500错误页面,其中有一个表单,但是当抛出500错误页面时,不会生成CSRF令牌。在500错误页面上生成CSRF令牌以使表单发布的最佳方法是什么?我应该只定义自己的自定义500错误视图吗?
答案 0 :(得分: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'
答案 1 :(得分: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) {