0

Django でJeditableプラグインを使い始めたところ、すぐに CSRF エラーが発生しました。

これを書いている時点で、Jeditable プラグインは 2008 年に最後に更新されたようです。この Django がPOST リクエストにCSRF トークンを要求し始めた後です。

Django CSRF データを Jeditable に追加するにはどうすればよいですか?

4

2 に答える 2

6

この質問への回答は、CSRFに関する同様の編集可能な投稿から得られました。CSRFトークンは、「submitdata」変数に追加できます。

Django投稿の最初のjeditable例を展開すると、次のようになります。

$(document).ready(function() {
   $('.edit').editable('http://www.example.com/save.php', { 
        submitdata : { csrfmiddlewaretoken : "{{ csrf_token }}"}
    });
});

フォームフィールド全体ではなく「csrf_token」値を表示するために、「csrf_token」は{%..%}ではなく{{..}}でラップされていることに注意してください。

于 2012-10-22T20:45:03.693 に答える
0

AJAX 要求を介して CSRF トークンを提供するための推奨される方法は、X-CSRFTokenヘッダーを CSRF トークンの値に設定することです。ヘッダー値を設定するには、構築されたリクエスト オブジェクトを変更する必要があります。

また、CSRF トークンをテンプレートで提供することに依存するのではなく、cookie から CSRF トークンを取得するためのヘルパー関数も提供されています。テンプレート自体の JS。

于 2012-10-22T20:54:20.393 に答える