django js POSTリクエスト処理時のcsrf_token
876 ワード
ajaxを使用してパラメータを渡すと、djangoはForbidden(csrf token missing or incorrect)をプロンプトします.
これは、csrfmiddlewaretokenパラメータがコミットされていないためです.
解決方法は次のとおりです.
あなたのtemplatesに入れます
これは、フロントエンドでcsrfmiddlewaretokenを格納するinputラベルを生成し、パラメータをコミットするときに、この値を取得すればよいためです.
ラベルのスタイルは次のとおりです.
だから後のajax提出の時、この中のパラメータを出して、dataに加えればいいです.例えば:
参考記事:AjaxリクエストでcsrfToken|djangoでcsrfをコミットする他の使用|Django
これは、csrfmiddlewaretokenパラメータがコミットされていないためです.
解決方法は次のとおりです.
あなたのtemplatesに入れます
{% csrf_token %}
これは、フロントエンドでcsrfmiddlewaretokenを格納するinputラベルを生成し、パラメータをコミットするときに、この値を取得すればよいためです.
ラベルのスタイルは次のとおりです.
だから後のajax提出の時、この中のパラメータを出して、dataに加えればいいです.例えば:
$.ajax({
url:"path/",
type:"POST",
data:{"name": name, "csrfmiddlewaretoken": csrf_token}, //csrf_token ( hidden input)
success:function (args) {
}
});
参考記事:AjaxリクエストでcsrfToken|djangoでcsrfをコミットする他の使用|Django