Ich versuche, eine Bilddatei Prahlerei laden mit wirftcsrf ist fehlgeschlagen, während die Datei durch Prahlerei Hochladen
{ „Detail“: „CSRF fehlgeschlagen:. CSRF-Token oder falsch fehlt“ }
. Es ist wichtig zu erwähnen, dass ich Django-Rest-Swagger Version 0.3.0 und Django Version 1.7 verwende.
YAML ein Bild für das Hochladen wie folgt aussieht:
parameters: - name: image in: formData required: true type: file - name: caption required: true type: string
Ich will nicht verwenden @csrf_exempt. Ich habe versucht, einen Header hineinzugeben, aber das hat nicht funktioniert. Kopf war so etwas wie:
- name: X-CSRF-Token description: csrftoken to be passed in header in: header required: true type: string
jede mögliche Hilfe geschätzt wird.
Haben Sie das CSRF-Token-Tag in Ihrem HTML? –
Haben Sie dieses Problem herausgefunden? Ich habe das identische Problem. Es ist nur ein Problem für die API, die den Datei-Upload hat. Alle anderen API-Endpunkte funktionieren einwandfrei. –
Ich weiß nicht viel, was mit swagger und yaml passiert, aber was ich sehe, ist, dass Sie den csrf-Token als Header übergeben. Es muss nur mit den formdata übergeben werden.name: csrfmiddlewaretoken value: get from entweder cookie oder die Formulareingaben –