【发布时间】:2015-10-06 00:56:19
【问题描述】:
我有一个以前可以使用的页面,遗憾的是我没有最近的备份,因此我可以返回到该页面的最新工作版本。
我有一个页面,它使用 allauth 来处理创建和登录用户的页面。但是,现在当我填写表单以注册或登录用户时,我得到一个403 error,说CSRF verification failed. Request aborted。
我已经检查了页面的 cookie,并且有一个 csrf token 存在。我尝试删除它并重新加载页面。再次重新创建了 cookie,但仍然是同样的错误。登录admin 页面也会出现同样的错误,我只能假设任何其他带有form 的页面。
我在我的设置文件中包含了django.middleware.csrf.CsrfViewMiddleware,所以我不知道是什么导致了这个错误。
我的settings.py
import os, djcelery
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = censored...
DEBUG = False
ALLOWED_HOSTS = ['0.0.0.0', '127.0.0.1', 'localhost']
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',
'interface',
'chemrun',
'kombu.transport.django',
'chemicalizer.tasks',
'json',
'django_nvd3',
'djangobower',
'allauth',
'allauth.account',
'djangosecure',
)
MIDDLEWARE_CLASSES = (
'djangosecure.middleware.SecurityMiddleware',
'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',
)
ROOT_URLCONF = 'chemicalizer.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['interface'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
【问题讨论】:
-
你能添加发生这种情况的模板/视图吗?
-
我使用allauth,所以它是标准的模板和视图。我没改过。
标签: python django csrf django-allauth