[英]“CSRF token missing or incorrect”
编辑解决 :我觉得这样的白痴。 我最初创建了两个单独的视图:一个用于输入,一个用于输出。 我已经在输出视图中处理了所有代码,即使我重新安排我的url和模板只是重用输入视图... SORRY EVERYONE。 现在工作正常......
我在localhost上运行,当我提交表单时,我收到“CSRF令牌丢失”错误。 我已经阅读了文档和一些stackoverflows。 我已经解决了大多数常见问题:
<input type="hidden" name="csrfmiddlewaretoken" value="">
) render_to_response('_template_',{_data_:'_data_'},context_instance=RequestContext(request))
'django.middleware.csrf.CsrfViewMiddleware'
。 任何人都知道我可能会缺少什么?
这是我的表格:
<form action="" method="post">
{% csrf_token %}
<input type="text" name="q">
<input type="submit" value = "Submit">
</form>
这是我的观点:
def view_workout(request):
errors = []
if request.method == 'POST':
q = request.POST['q']
if not request.POST.get('q', ''):
errors.append('Please complete all required fields')
return render_to_response('swimsets/view_workout.html',{
'error': errors
},context_instance=RequestContext(request))
else:
return render_to_response('swimsets/view_workout.html',{
'query': q
},context_instance=RequestContext(request))
else:
return render_to_response('swimsets/view_workout.html', {
},context_instance=RequestContext(request))
这是我的设置:
MIDDLEWARE_CLASSES = (
'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',
)
您可能缺少CsrfResponseMiddleware,基于相关问题的答案是否在Django 1.2中仍然需要{%csrf_token%} CSRF保护标记?
您还可能需要将csrf导入视图中:
from django.core.context_processors import csrf
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.