1

Django プロジェクトの 404.html にログイン ボックスとキーワード検索ボックスを単独で配置したので、404 エラーが発生した場合、訪問者は他の部分にジャンプするためのより多くのオプションを取得できます。

ただし、CSRF ミドルウェアは、csrf トークンがレンダリングされていない 404 エラー ページでは機能しません。「django.middleware.csrf.CsrfViewMiddleware」をsettings.pyのMIDDLEWARE_CLASSESの最初に移動しようとしましたが、どちらも機能しませんでした。

誰でも解決策を知っていますか?

4

2 に答える 2

1

Django http://code.djangoproject.com/ticket/14565でこれを修正したようです

とは言っても、最新のリリースではないようですので、 と同じ内容のカスタム エラー ビューを作成'django.views.defaults.page_not_found'し、チケット diff ファイルで見つかった変更を行いました。

于 2010-12-15T19:43:00.957 に答える
0

私の考えでは、独自のエラー ハンドラを作成し、django.middleware.csrf.get_token() を使用してトークンを手動で生成する必要があります。

于 2010-03-19T11:33:27.103 に答える