2

私はdjango Webサイト用のモバイルアプリケーションを書いています。django のすべてのフォームには、保護のための CSRF トークン キーがあることを理解しています。ブラウザを使用してサイトをナビゲートすると、サーバーはユーザーにキーをレンダリングします。

私が混乱しているのは、モバイルアプリケーションの場合です。サイトから事前設定レイヤーを表示する必要はありません。データを送信するためにHTTP投稿をしたいだけです。csrf_exemptそのフォームのcsrfを無効にするために使用できることはわかっています。または、csrf トークンをレンダリングする別のビューを作成することもできますが、この方法では追加の解析と http 要求が必要です。それを行うためのより良い方法はありますか?

御時間ありがとうございます

4

1 に答える 1

2

{% csrf_token %}モバイル アプリがテンプレートをレンダリングしている場合は、フォームをレンダリングするテンプレートに追加できます。フォームを使用せず、代わりにデータを投稿するだけの場合は、上記のようにトークンを作成し、その値をデータと共に投稿するだけです。また、テンプレートを使用してモバイル アプリのマークアップを適切に作成していない場合は、csrf_exempt を使用します (データをサーバーに定期的に投稿するだけの場合)。

明らかに、投稿されたデータを処理するビューが必要ですが、そのために汎用ビューを使用している場合でも、そのビューを (たとえば urls.py で) ラップして、csrf_exempt を使用することができます。

于 2011-07-14T17:29:25.143 に答える