2013-02-27 4 views
0

J'ai suivi le doc django sur la façon d'utiliser le jeton CSRF. (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/)Comment utiliser correctement le jeton Django CSRF?

Je comprends les deux premières étapes, mais je me suis trompé sur l'étape 3. Dans l'étape 3, il y a deux options.

Option 1: UseRequestContext.

Option 2: générer manuellement le jeton CSRF et l'ajouter au contexte du modèle.

Si je veux utiliser l'option 1 et mettre en œuvre une classe de vue de la vue de base de classe, dois-je faire de plus pour générer le jeton?

Merci.

+0

Il est déjà compris lorsque vous utilisez csrf_token dans votre formulaire. Vous n'avez pas à le mettre dans votre fonction de vue. Ce tutoriel de vues est une autre façon d'utiliser csrf. – catherine

+0

Donc, si j'utilise le csrf_token dans le modèle et le décorateur csrf_protect pour la vue, je devrais être prêt à partir? –

+0

utilisez simplement le jeton csrf dans le template. django le reconnaîtra – catherine

Répondre

7

paramètres

MIDDLEWARE_CLASSES = [ 
    //other middlewares 

    'django.middleware.csrf.CsrfViewMiddleware', 

] 

modèle

<form method="post"> 
    {% csrf_token %} 
    ...... 
</form> 

vues

def view_name(request): 
    if request.method == 'POST': 
     .....