CSRF Защита в Джанго 1.4

Я пытаюсь научиться джанго, работая через "Книга Джанго ", и я'У меня возникли проблемы с защитой CSRF. Я'Мы нашли много предложений здесь, но ни одно из них не работает для меня.

Используя Chrome, я получаю сообщение:CSRF token missing or incorrect

Используя Internet Explorer, я получаю сообщение:CSRF cookie not set

Если я закомментирую'django.middleware.csrf.CsrfViewMiddleware' в settings.py кажется, что все работает (хотя, конечно, на поддельный адрес ничего не отправляется).мы пытались положитьcsrf_protect декоратор на мой взгляд, но это не такТ помочь. Я'мы также пытались закомментироватьsend_mailи я все еще получаю ошибку CSRF, так что, видимо, этоs ContactForm, который вызывает проблему.

(Я'м с использованием django 1.4.1.)

Что мне нужно сделать?

views.py
from django.shortcuts import render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from contact.forms import ContactForm
from django.template import RequestContext
from django.core.mail import send_mail

def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            send_mail(
                cd['subject'],
                cd['message'],
                cd.get('email', '[email protected]'),
                ['[email protected]'],
            )
            return HttpResponseRedirect('/contact/thanks/')
    else:
        form = ContactForm()
    return render_to_response('contact_form.html', {'form': form}, context_instance=RequestContext(request))

def thanks(request):
    return HttpResponse("Thanks for the feedback")
forms.py
from django import forms

class ContactForm(forms.Form):
    subject = forms.CharField()
    email = forms.EmailField(required=False)
    message = forms.CharField()
contact_form.html


    Contact us


    Contact us

    {% if form.errors %}
        <p style="color: red;">
            Please correct the error{{ form.errors|pluralize }} below.
        </p>
    {% endif %}

    
        
            {{ form.as_table }}
        
        
    

  

Ответы на вопрос(1)

Ваш ответ на вопрос