Django : erreur `CSRF verification failed` sur mon formulaire
asked 2 months ago261 viewsfr
Mon formulaire POST renvoie « Forbidden (403) CSRF verification failed. Request aborted. » Je suis en local.
AI diagnosis
AI-generated. Not an answer — the community below confirms or corrects it. Always verify before relying on it.
1 Answer
Django exige un jeton CSRF sur toutes les requêtes POST. Vérifie :
1. Dans le template, le tag à l'intérieur du <form> :
<form method="post">
{% csrf_token %}
...
</form>
2. La vue utilise bien render(request, ...), qui passe le contexte de requête. 3. Appels JavaScript (fetch) : envoie l'en-tête X-CSRFToken avec la valeur du cookie csrftoken. 4. Django 4+ derrière HTTPS ou un domaine différent : ajoute l'origine dans les réglages :
CSRF_TRUSTED_ORIGINS = ['https://monsite.ht']
Ne désactive pas la protection avec @csrf_exempt pour « faire marcher ». Réserve-le aux webhooks authentifiés par signature.
Sign in to tell others whether this worked.
Sign in and verify your email to post an answer.