Django CSRF échec de la vérification. Demande abandonnée.- CSRF cookie pas ensemble

Je sais que cette question a été posée avant. J'ai essayé presque toutes les options fournies par les gens, mais je n'arrive pas à le résoudre. Je suis un débutant complet, de sorte s'il vous plaît laissez-moi savoir où je vais mal.

Je suis en train d'écrire une simple forme brute. Je n'ai pas mis en place de l'authentification ou le mécanisme de session jusqu'à maintenant (mais de ce que j'ai lu qui n'a pas d'importance à ce problème. Corrigez-moi si je me trompe).

Lorsque j'essaie d'envoyer mon formulaire, j'obtiens cette erreur:

Forbidden (403)
CSRF verification failed. Request aborted.

Reason given for failure:
    CSRF cookie not set.

C'est mon code:

Mon Views.py a cette méthode:

def submit(request):
    global alphabet_array
    dishes = Dish.objects.all().order_by('name')
    if request.method == "POST":
        print request.POST['restaurant']
        print request.POST['rating']
        render_to_response('index.html', {}, context_instance=RequestContext(request))
    else:
        render_to_response('index.html', {}, context_instance=RequestContext(request))

Beaucoup ont dit que l'utilisation de RequestContext résout ce problème, mais pour moi même qui ne fonctionne pas.

Le modèle semble comme ci-dessous:

  <form role="form" action="/submit/" method="post">{% csrf_token %}
                <div class="form-group">
                  <label for="">Restaurant Name</label>
                  <input type="text" name="restaurant" class="form-control" id="">
                </div>
                <div class="form-group">
                  <label for="">Rating</label>
                  <select class="form-control" name="rating">
                    <option>--</option>
                    <option>1 (very bad)</option>
                    <option>2 (bad)</option>
                    <option>3 (average)</option>
                    <option>4 (good)</option>
                    <option>5 (excellent)</option>
                  </select>
                </div>
               <button type="submit" class="btn btn-primary btn-block"><i class="fa fa-check-circle"></i> Save</button>
    </form>

La middleware_classes dans settings.py ressemble:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

django.middleware.csrf.CsrfViewMiddleware est là et il est au-dessous de 'django.contrib.les sessions.middleware.SessionMiddleware'

Mon url.py est a des entrées:

url(r'^admin/', include(admin.site.urls)),
    url(r'^index/$', 'testapp.views.index'),

    url(r'^starts_with/(?P<alphabet>.+)/dish/(?P<dish_id>\d+)/$', 'testapp.views.alphabet_dish'),
    url(r'^starts_with/(?P<alphabet>.+)/$', 'testapp.views.alphabet'),
    url(r'^submit/$', 'testapp.views.submit'),

Je ne suis pas vraiment sûr de ce qui est le problème ici. Comme je l'ai dit, j'ai lu des postes similaires ici et essayé tout ce qui est mentionné dans les réponses. Qu'ai-je manqué? Mon navigateur est google Chrome, et c'est d'accepter les cookies.

Vérifier Chrome Developer Tools > Ressources et de voir si il y a un cookie. Essayez d'utiliser cette décorateur et de voir si tout le reste est OK django.les vues.les décorateurs.csrf.csrf_exempt.
Sans le décorateur, le cookie n'est pas présent. Quand j'ajoute un décorateur, je peux voir un cookie arriver généré. Mais alors, il jette une autre erreur: Le point de vue testapp.les vues.soumettre n'ai pas le retour d'un objet HttpResponse.

OriginalL'auteur rishi | 2014-02-01