Découvrez comment réparer l'erreur manquante ou incorrecte du jeton CSRF dans Django, en particulier lorsque vous utilisez une lumière d'assurance section pour les fonctionnalités AJAX dans vos formulaires. --- Cette vidéo est basée sur la question https://stackoverflow.com/q/70281016/ demandée par l'utilisateur 'jhnsbrst' (https://stackoverflow.com/u/16333505/) et sur la réponse https://stackoverflow.com/a/70301362/ a fourni par l'utilisateur 'jhnsbrst' ( https://stackoverflow.com/u/16333505/) sur le site Web «Stack Overflow». Merci à ces grands utilisateurs et à la communauté StacKExchange pour leurs contributions. Visitez ces liens pour le contenu original et tout plus de détails, tels que des solutions alternatives, les dernières mises à jour / développements sur le sujet, les commentaires, l'historique de révision, etc., par exemple, le titre original de la question était: CSRF Token manquant ou incorrect - Utilisation de la lumière automatique à Django, Contenu (sauf la musique) sous CC byhelp/sicensing. Licencié dans le cadre de la licence 'CC BY-SA 4.0' (https://creativecommons.org/licenses/by-sa/4.0/), et le poste de réponse original est concédé sous licence 'CC BY-SA 4.0' (https://creativecommons.org/licenses/by-sa/4.0/). Si quelque chose vous semble, n'hésitez pas à m'écrire chez vlogize [at] gmail [dot] com. --- Résolution du jeton CSRF Erreur manquante ou incorrecte dans Django avec une lumière de l'assurance automatique Lors de la création d'applications Web, en particulier celles impliquant des formulaires et des demandes AJAX dans DJANGO, vous pouvez rencontrer l'erreur frustrante du jeton CSRF manquant ou incorrect. Ce problème se pose souvent lors de l'utilisation de fonctionnalités telles que la saisie semi-automatique à partir de la bibliothèque de l'assiette automatique. Dans ce guide, nous explorerons les causes de ce problème et fournirons une solution étape par étape pour vous remettre sur la bonne voie. La compréhension du jeton CSRF CSRF, qui signifie Falle de demande inter-sites, est un type d'attaque qui incite l'utilisateur à soumettre une demande (comme soumettre un formulaire) sans leur consentement. Pour se protéger contre cela, Django comprend un jeton CSRF qui doit être inclus dans n'importe quelle soumission. Si vous voyez le jeton CSRF manquant ou incorrect, cela indique généralement que: le jeton CSRF est absent du formulaire qui est soumis. Le jeton CSRF présent n'est pas valide, ce qui peut se produire si vous travaillez avec plusieurs modèles. Le problème de votre application Django dans la situation décrite, le développeur a été confronté à cette erreur tout en essayant d'implémenter un formulaire avec une fonctionnalité AJAX pour récupérer des données à l'aide de la lumière de l'assiette automatique. La cause profonde consistait à identifier le modèle de bon pour inclure le jeton CSRF. Voici une ventilation simplifiée du problème: plusieurs modèles: le développeur avait plusieurs modèles avec héritage, ce qui a conduit à la confusion sur l'endroit où inclure le jeton CSRF. Modèle non utilisé: Le jeton CSRF a été inclus par inadvertance dans un modèle qui n'était pas rendu, provoquant l'erreur lorsque le formulaire a été soumis. Solution étape par étape Étape 1: assurez-vous que l'héritage de modèle cohérent Assurez-vous que vous utilisez un modèle de base bien structuré. Tous vos modèles doivent hériter de ce modèle de base pour maintenir le projet organisé et minimiser des erreurs comme celle-ci. Suivez ces directives: Modèle de base unique: Créez un modèle principal qui comprend du code essentiel tel que le jeton CSRF. Utilisez les blocs judicieusement: utilisez uniquement des blocs pour les parties du modèle qui changent, telles que des champs de contenu ou de formulaire spécifiques. Étape 2: Incluez le jeton CSRF dans votre modèle de formulaire, assurez-vous d'inclure correctement le jeton CSRF. Cela devrait ressembler à ceci: [[voir la vidéo pour révéler cet extrait de texte ou de code]] Étape 3: Revoir la soumission du formulaire avec AJAX lors de l'envoi de vos demandes AJAX, vérifiez que le jeton CSRF est inclus. Dans votre JavaScript, assurez-vous que le jeton CSRF est envoyé avec la demande. Vous pouvez le récupérer à partir du cookie et l'ajouter à vos en-têtes Ajax comme ainsi: [[voir la vidéo pour révéler cet extrait de texte ou de code]] Étape 4: Test après implémentation des modifications, assurez-vous d'effectuer des tests approfondis pour vous assurer que l'erreur a été résolue. Soumettez le formulaire et vérifiez si l'erreur CSRF persiste. Inspectez les demandes de réseau dans les outils de développeur de votre navigateur pour confirmer que le jeton CSRF est envoyé correctement. Conclusion Le jeton CSRF manquant ou une erreur incorrecte peut être un obstacle commun dans les applications Web Django. Reconnaître l'importance du jeton CSRF et le maintien d'une hiérarchie de modèle structurée peuvent aider à prévenir ce problème. En suivant les étapes présentées dans cet article, vous devriez être en mesure de résoudre avec succès l'erreur et de continuer à développer les fonctionnalités de votre application sans obstacle. N'oubliez pas que la clé à retenir est de toujours vous assurer que vos jetons CSRF sont correctement inclus dans les modèles corrects pour éviter de tels problèmes à l'avenir. Codage heureux!
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.