Comment exemptés de la Protection CSRF sur direct_to_template
J'ai un flux dans mon application django dans lequel je redirige l'utilisateur vers un autre service (par exemple PayPal), qui après quelques son propre traitement, renvoie à l'utilisateur de retourner sur mon propre serveur. Le retour de la pointe de mon serveur est un HTML simple page de succès qui j'ai rendu à l'aide de direct_to_template.
Pour quelque étrange raison, les autres serveur envoie une requête POST et donc l'utilisateur voit un jeton CSRF manquant erreur que le serveur n'envoie pas de retour dans un jeton CSRF.
Comment puis-je me dispenser de direct_to_template vue de jetons CSRF?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
csrf_exempt
décorateur pour désactiver la protection CSRF pour un point de vue particulier.Dire que votre modèle d'url est:
Ajouter les éléments suivants à l'importation de votre
urls.py
:Puis modifier le modèle d'url à:
Vous pouvez Utiliser
@csrf_exempt
décorateur excempt jeton csrf pour cela, vous devez importerpuis écrire
@csrf_exempt
avant votre point de vuecela fonctionne correctement 🙂
@method_decorator(csrf_exempt)
surdispatch
méthode pour vôtre la classe de base des points de vue.method_decorator
? edit:from django.utils.decorators import method_decorator