/ / django_commentsを使用した403エラー[終了]-django、django-forms

django_commentsを使用している403エラー[閉じる] - django、django-forms

私は自分のサイトのコメントシステムとしてdjango_commentsを使用していますが、コメントを投稿すると403エラーが発生します。どうして?

これは私の設定です:

MIDDLEWARE_CLASSES = (
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
#"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.auth.middleware.SessionAuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"django.middleware.security.SecurityMiddleware",
)

他のフォームはうまく機能します。 403エラーは発生しません。

回答:

回答№1は2

CSRFミドルウェアを無効にしているため、他のフォームは機能します。これは、WebサイトがCSRF攻撃に対して脆弱になるため、悪い考えです。

post_comment django_commentsからのビューは、明示的に csrf_protect デコレータ。したがって、含める必要があります {% csrf_token %} CSRFエラーを防ぐために、テンプレートのフォームタグに追加します。

それでも問題が解決しない場合は、おそらくビューです。 ドキュメントが言うように、テンプレートがでレンダリングされていることを確認する必要があります request オブジェクト、それ以外の場合 {% csrf_token %} タグは機能しません。