8

新しい django プロジェクトを開始し、管理アプリを有効にしました。管理サイトにログインできますが、サイトまたはユーザーを追加/変更しようとすると、

CSRF verification failed. Request aborted.
Reason given for failure:
CSRF token missing or incorrect.

それが私がsettings.pyに持っているものです:

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)

管理ページのソースを見ていると、

<input type='hidden' name='csrfmiddlewaretoken' value='T9Mfk1LRXi5jPE2dh5jcvdKwzYM6Iy5I' />

そこの

私はDjangoバージョン1.4.1を持っています

4

2 に答える 2

9

CSRF_COOKIE_DOMAIN 設定をオーバーライドしましたか? CSRF トークンがフォームに存在し、管理アプリのソースを変更していない場合、最も可能性の高いシナリオは、Cookie が正しく設定されていないことです。

ログイン ページの応答ヘッダーをチェックして、Cookie が正しく設定されていることを確認し、ログイン試行の要求ヘッダーをチェックして、それが送信されていること (およびフォームの値と一致していること) を確認します。

于 2012-10-03T16:11:07.393 に答える