Django : erreur `CSRF verification failed` sur mon formulaire

poze 2 months ago259 gadefr

7

Mon formulaire POST renvoie « Forbidden (403) CSRF verification failed. Request aborted. » Je suis en local.

Dyagnostik IA

Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.

poze 2 months ago

1 Repons

4
✓
✓ Repons yo aksepte

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.

Konekte pou di lòt moun si li te mache.

answered 2 months ago

Sign in and verify your email to post an answer.