2017-02-23 1 views
4

je faisais quelque chose un peu bête tout en développant mon projet:Django dans une API like + reactjs. Comment générer un jeton CSRF

J'utilise django seulement pour l'administration et les vues sont utilisées comme urls pour mon avant (reactjs) pour obtenir des actions. Je n'ai rien à protéger sur les données elles-mêmes.

Mais le problème est qu'à un certain moment, j'ai des ressources à télécharger et c'est la seule fois où je dois faire une demande POST à ​​mon django.

Et voici le problème. Django attend un jeton csrf et je n'ai pas réussi à l'ignorer (j'utilise des vues de classe de base).

La chose vraiment idiote est que cela fonctionnait jusqu'à maintenant car je travaillais avec l'admin django (qui signifie modèle django -> génération de jeton csrf). Donc pour un utilisateur standard, il ne l'aura pas ...

Avez-vous une idée de comment procéder? Dois-je passer par une fausse vue django pour être sûr que l'utilisateur l'a eu? (semble être une solution laide).

Merci beaucoup!

Répondre

4

décorez mode d'expédition sur CBV, il devrait résoudre votre problème post

def MyView(View) 
    @method_decorator(csrf_exempt) 
    def dispatch(self, request, *args, **kwargs): 
     return super(MyView, self).dispatch(request, *args, **kwargs) 
+1

AH une réponse concrète et fonctionnelle - plus il est à jour. MERÇI <3 –