gpt4 book ai didi

python - Django csrf token 丢失或不正确错误 403

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:33 25 4
gpt4 key购买 nike

当我提交表单时出现以下错误:

CSRF verification failed

Reason given for failure:

CSRF token missing or incorrect.

我的 views.py 是:

def name(request):
if request.method == 'POST':
form=NameForm(request.POST)
if form.is_valid():
name=form.cleandata['your_name']
return HttpResponseRedirect('/thanks/',RequestContext(request))

else:
form=NameForm()
return render_to_response('contact.html')

我的 setting.py 文件:

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我的 forms.py 文件是:

class NameForm(forms.Form):
your_name=forms.CharField(initial='your name',max_length=100)

我的 contact.html 是:

<form action="/your-name/" method="POST">
{% csrf_token %}
{{form}}
<input type="submit" value="Submit" />
</form>

urls.py 是:

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^search/$', search),url(r'^contact/$',contact),
url(r'^name/$',name),url(r'^your-name',name),url(r'^thanks/$',thank)
]

最佳答案

使用 render函数来呈现模板,而不是 render_to_response .

from django.shortcuts import render

def name(request):
if request.method == 'POST':
form = NameForm(request.POST)
if form.is_valid():
name = form.cleaned_data['your_name']
return HttpResponseRedirect('/thanks/', RequestContext(request))
else:
form = NameForm()
return render(request, 'contact.html')

关于python - Django csrf token 丢失或不正确错误 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com