Verboten (CSRF-token fehlen oder falsch sind) Django Fehler
Ich bin sehr neu in Django. Der name meines Projektes ist rango und ich habe erstellt eine URL mit dem Namen '/rango/tagger' soll, um ein Objekt zu senden.
In meinem java-Skript habe ich versucht zu kommunizieren, mit dieser route durch das senden einer ajax-Anfrage wie folgt:
function send()
{
obj = {content:$("#content").val()};
$.post('/rango/tagger',obj,function(data){
console.log(data);
})
}
Ich habe die {% csrf_token %} in meinem template. Jedoch, gibt es mir den Fehler wie folgt:
Forbidden (CSRF token missing or incorrect.): /rango/tagger
[31/Jan/2016 09:43:29] "POST /rango/tagger HTTP/1.1" 403 2274
Meiner Funktion tagger in views.py ist wie folgt:
def tagger(request):
return render(request,'rango/index.html',RequestContext(request))
Und ich habe auch definiert es in meiner URL-Muster. Ich vermute, dass mein tagger Funktion gibt einen falschen Wert "oder" Daten (aus der änderung von HttpResponse(Anfrage) zu der Zeile, die oben auf der Grundlage von anderen SO Lösungen).
Aber es scheint nicht zu funktionieren für mich. Wo bin ich falsch?
- stackoverflow.com/questions/6506897/...
- Auch finden Sie in der offiziellen Django-Dokumentation für die Verwendung von CSRF mit ajax
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den AJAX-request muss die csrf-Angriffe, weil es ein anderes HTTP-Anforderung, so kopieren Sie bitte diesen code:
Nachdem Sie setup, dass vor dem senden von AJAX-request um die csrf-Angriffe.
Quelle
Oder Sie können es in kurzer Weg (ohne die codes oben geschrieben), aber das senden aller Daten in die Eingänge Bereich:
Django erfordert ein csrf-token für die Annahme von post-Anfragen. Sie können auch hinzufügen einer Eigenschaft
csrfmiddlewaretoken = {% csrf_token %}
zu Ihremdata
wenn Ihrscript
ist innerhalb dertemplate
.Für Leute, mit dieser innerhalb einer include-js-Datei, die Sie tun können, so etwas wie:
und in Ihr enthalten
js
Datei verwenden