Bry*_*yan 8 django csrf django-csrf csrf-protection
当我执行POST表单时,Django 1.2一直给我这个CSRF验证错误.我"想"我已经完成了Django 1.2文档中提到的所有事情,即
确保MIDDLEWARE_CLASSES包含在'django.middleware.csrf.CsrfViewMiddleware'中
确保{%csrf_token%}
<form action="/words/new/" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Enter" />
</form>
Run Code Online (Sandbox Code Playgroud)在我的回复中使用RequestContext
def create(request):
if request.method == 'POST':
form = DefinitionForm(request.POST)
if form.is_valid():
form.save()
c = {}
return render_to_response('dict/thanks.html',c,
context_instance=RequestContext(request))
else:
form = DefinitionForm()
return render_to_response('dict/create_definition.html', {
'form' : form,
})
Run Code Online (Sandbox Code Playgroud)请注意,GET操作适用于此功能.所以我认为我正在使用render_to_response.
我甚至试图投入@csrf_protect装饰器,甚至那似乎没有用.我没有想法,我准备用笔记本电脑掐自己.
你们能想到的任何事情?
谢谢!
你没有关注#3.在RequestContext必须与展示形式模板的呈现使用.感谢页面没有必要.
return render_to_response('dict/create_definition.html', {
'form' : form,
}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
作为旁注,您应该使用PRG模式而不是直接呈现感谢页面.
| 归档时间: |
|
| 查看次数: |
995 次 |
| 最近记录: |