Django の送信フォームエラー。CSRF トークンがないか、不正確です。
1、Djangoの送信フォームでエラーが発生しました。Django の送信フォームのエラーです。
CSRF token missing or incorrect
具体的なエラーページは以下の通りです。
2. Youdao辞書では、次のように訳されています。
通常、これは本物のクロスサイトリクエストフォージェリがある場合、または Django の CSRF 機構が正しく使われていない場合に起こります。郵便のフォームに関しては、:
ブラウザがCookieを受け入れている。
view 関数は、テンプレートのレンダリングメソッドにリクエストを渡します。
テンプレートでは、各POSTフォームに{% csrf_token %}というテンプレート・トークンがあり、内部URLをターゲットにしています。
CsrfViewMiddleware を使用していない場合は、csrf_token テンプレートタグを使用するビューと POST データを受け付けるビューで csrf_protect を使用する必要があります。
このフォームには有効なCSRFトークンがあります。ログイン後にトークンが回転するため、別のブラウザタブにログインした後や、ログイン後に戻るボタンをクリックした後に、フォームを使用してページを再読み込みする必要があるかもしれません。
このページのヘルプセクションが表示されるのは、Django の設定ファイルに DEBUG = True があるためです。これを False に変更すると、最初のエラーメッセージだけが表示されます。
CSRF_FAILURE_VIEWの設定を使って、このページをカスタマイズすることができます。
3. 解決策
(1) プロジェクト下の settings.py ファイルに django.middleware.csrf.CsrfViewMiddleware が存在するかどうかを判断します。
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware,
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware,
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
(2) settings.py ファイルが設定されていることを確認し、それでもエラーが報告される場合は、フォームの一番下に一行のコードを追加します。
{% csrf_token %}
これは上記のエラーを報告しないはずです。上記は学習目的のみです、ありがとうございます!
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例