当我执行 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>
在我的回复中使用 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, })
请注意,GET 操作在此函数中起作用。所以我认为我正在使用 render_to_response 正确。
我什至尝试加入 @csrf_protect 装饰器,但似乎也没有用。我没有想法,我即将用我的笔记本电脑窒息自己。
大家有什么能想到的吗?
谢谢!