Django 1.2는 POST 양식을 수행 할 때 일관되게이 CSRF 확인 오류를 제공합니다. 나는Django 1.2.4 CSRF 확인 실패
이 MIDDLEWARE_CLASSES가 'django.middleware.csrf.CsrfViewMiddleware'
은 {% 보장에 포함되어 있는지 확인, 내가 즉 장고 1.2 문서에서 요구하는 모든 일을했습니다 "생각" 내 대답에 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 데코레이터를 넣으려고했는데 작동하지 않는 것조차 보였습니다. 나는 아이디어가 없으며 노트북을 가지고 자신을 질식시킬 것입니다.
여러분이 생각할 수있는 것이 있습니까?
감사합니다.
브라우저에서 HTML을 확인하여 csrf 토큰 필드가 있는지 확인하십시오. 그런 다음 POST 응답을 덤프하여 다시보기로 돌아 왔는지 확인하십시오. – Spacedman