Django でJeditableプラグインを使い始めたところ、すぐに CSRF エラーが発生しました。
これを書いている時点で、Jeditable プラグインは 2008 年に最後に更新されたようです。この Django がPOST リクエストにCSRF トークンを要求し始めた後です。
Django CSRF データを Jeditable に追加するにはどうすればよいですか?
Django でJeditableプラグインを使い始めたところ、すぐに CSRF エラーが発生しました。
これを書いている時点で、Jeditable プラグインは 2008 年に最後に更新されたようです。この Django がPOST リクエストにCSRF トークンを要求し始めた後です。
Django CSRF データを Jeditable に追加するにはどうすればよいですか?
この質問への回答は、CSRFに関する同様の編集可能な投稿から得られました。CSRFトークンは、「submitdata」変数に追加できます。
Django投稿の最初のjeditable例を展開すると、次のようになります。
$(document).ready(function() {
$('.edit').editable('http://www.example.com/save.php', {
submitdata : { csrfmiddlewaretoken : "{{ csrf_token }}"}
});
});
フォームフィールド全体ではなく「csrf_token」値を表示するために、「csrf_token」は{%..%}ではなく{{..}}でラップされていることに注意してください。
AJAX 要求を介して CSRF トークンを提供するための推奨される方法は、X-CSRFToken
ヘッダーを CSRF トークンの値に設定することです。ヘッダー値を設定するには、構築されたリクエスト オブジェクトを変更する必要があります。
また、CSRF トークンをテンプレートで提供することに依存するのではなく、cookie から CSRF トークンを取得するためのヘルパー関数も提供されています。テンプレート自体の JS。