Python CSRF令牌丢失或不正确,即使在包含令牌标记后也是如此
我收到一个“CSRF令牌丢失或不正确”错误,但我已经在web表单中添加了Python CSRF令牌丢失或不正确,即使在包含令牌标记后也是如此,python,django,django-models,django-forms,django-templates,Python,Django,Django Models,Django Forms,Django Templates,我收到一个“CSRF令牌丢失或不正确”错误,但我已经在web表单中添加了{%CSRF\u token%}标记。知道我为什么还要面对这个错误吗 def index(request): if request.method == 'POST': form = RequestForm(request.POST) if form.is_valid(): form.save() return render(request
{%CSRF\u token%}
标记。知道我为什么还要面对这个错误吗
def index(request):
if request.method == 'POST':
form = RequestForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'index.html')
else:
form = RequestForm()
return render(request, 'index.html', {'form': form})`
我不能发布模板,但我使用的令牌如下行所示
<form id="reqForm" action="" method="POST" enctype="text/plain">{% csrf_token %}
{%csrf\u令牌%}
看起来您的问题是表单中的enctype=“text/plain”
。CSRF保护假定post数据是表单编码的
最简单的修复方法是将其完全移除,这相当于:
enctype="enctype=application/x-www-form-urlencoded"
如果您在表单中上载文件,您将使用:
enctype="multipart/form-data"
您的问题似乎是表单中的
enctype=“text/plain”
。CSRF保护假定post数据是表单编码的
最简单的修复方法是将其完全移除,这相当于:
enctype="enctype=application/x-www-form-urlencoded"
如果您在表单中上载文件,您将使用:
enctype="multipart/form-data"
如果你查看表单的源代码,你能看到一个带有csrf标记值的隐藏输入框吗。谢谢。如果你查看表单的源代码,你能看到一个带有csrf令牌值的隐藏输入框吗?是的,现在我能看到了,在删除enctype属性之后。谢谢。是的,我正在以我的网络表单上传一个文件,你知道我应该如何在后端处理吗?我在模型中使用models.FileField(),这是一个单独的问题。如果你被卡住了,我会先问一个新问题。是的,我正在用我的web表单上传一个文件,你知道我应该如何处理后端吗?我在模型中使用models.FileField(),这是一个单独的问题。如果你被卡住了,我会先问一个新问题。