Python CSRF令牌丢失或不正确,即使在包含令牌标记后也是如此

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令牌丢失或不正确”错误,但我已经在web表单中添加了
{%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(),这是一个单独的问题。如果你被卡住了,我会先问一个新问题。