Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django启动服务器时出现问题,因为SessionAuthenticationMiddleware_Python_Django - Fatal编程技术网

Python django启动服务器时出现问题,因为SessionAuthenticationMiddleware

Python django启动服务器时出现问题,因为SessionAuthenticationMiddleware,python,django,Python,Django,我一直在尝试让Python3.2.2和django 1.6.5在遵循这一点时工作。出于某种原因,我一直遇到这个错误,我一直无法在网上找到答案,解释为什么会发生这种情况 File "/home/salinn/.pyenv/versions/3.2.2/lib/python3.2/site-packages/django/utils/module_loading.py", line 28, in import_by_path attr = getattr(module, class_name) At

我一直在尝试让Python3.2.2和django 1.6.5在遵循这一点时工作。出于某种原因,我一直遇到这个错误,我一直无法在网上找到答案,解释为什么会发生这种情况

File "/home/salinn/.pyenv/versions/3.2.2/lib/python3.2/site-packages/django/utils/module_loading.py", line 28, in import_by_path
attr = getattr(module, class_name)
AttributeError: 'module' object has no attribute 'SessionAuthenticationMiddleware'
我尝试过改变一下URL,尝试过使用设置middlewareclass,任何指向正确方向的指针都会很棒

我的settings.py文件是

"""
Django settings for mysite project.

For more information on this file, see
https://docs.djangoproject.com/en/dev/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/dev/ref/settings/
"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '9xn60p#gnsg+es+xx@sx3f6b_f#stv!ik27myy+g9e3)mtgx)g'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

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',
)

ROOT_URLCONF = 'mysite.urls'

WSGI_APPLICATION = 'mysite.wsgi.application'


# Database
# https://docs.djangoproject.com/en/dev/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# Internationalization
# https://docs.djangoproject.com/en/dev/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/dev/howto/static-files/

STATIC_URL = '/static/'

django 1.7中添加了
django.contrib.auth.middleware.SessionAuthenticationMiddleware
,您正在使用django 1.6

升级到Django 1.7或将其从
中间件类中删除

您可以通过以下方式检查Django版本:

首先,检查在Python控制台中导入了哪个版本的Django:

import django
django.VERSION
其次,检查django admin.py的版本-这是用于生成django项目等的脚本。在系统shell中运行以下命令:

django-admin.py --version
版本应该匹配。如果没有,您可能有两个单独的Django安装(例如Python2和Python3)


作为旁注,许多外部模块仍然与Django 1.7不兼容,因此,如果您想构建一个真实世界的应用程序,现在使用Django 1.6可能是一个更好的选择。另一方面,如果您只想学习vanilla Django,我认为您应该从最新版本开始。

Django.contrib.auth.middleware.SessionAuthenticationMiddleware
是在Django 1.7中添加的,您正在使用Django 1.6

升级到Django 1.7或将其从
中间件类中删除

您可以通过以下方式检查Django版本:

首先,检查在Python控制台中导入了哪个版本的Django:

import django
django.VERSION
其次,检查django admin.py的版本-这是用于生成django项目等的脚本。在系统shell中运行以下命令:

django-admin.py --version
版本应该匹配。如果没有,您可能有两个单独的Django安装(例如Python2和Python3)


作为旁注,许多外部模块仍然与Django 1.7不兼容,因此,如果您想构建一个真实世界的应用程序,现在使用Django 1.6可能是一个更好的选择。另一方面,如果你只想学习vanilla Django,我认为你应该从最新版本开始。

你在设置中的
安装的应用程序和
中间件类中有什么?请在
设置.py中搜索
会话身份验证中间件,或者最好是在项目的所有文件中,并将所有片段发布到提到它的地方。@vasilyalexev I have
“django.contrib.auth.middleware.SessionAuthenticationMiddleware”,
中间件类中
已安装的应用程序中
以及在
中间件类中
在您的settings.py中有什么?请在您的
settings.py中搜索
会话身份验证中间件
,或者在项目的所有文件中搜索更好的内容,并将所有片段发布到提到的地方。@Vasilyalexev我有
django.contrib.auth.middleware.SessionAuthenticationMiddleware',
中间件类中,我应该删除它吗?考虑到我初始化项目时自动添加它,这很奇怪。好的,你确定你有Django 1.6吗?导入django;打印(django.VERSION)
在Python控制台中。是的,我在linux2上找到了
Python 3.2.2(默认,2014年8月27日,10:31:54)[GCC 4.8.2],键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息。>>进口django;打印(django.VERSION)(1,6,5,'final',0)
好的,如果运行
django-admin.py--VERSION
,会得到什么?嗯,这很奇怪,我得到
name错误:没有定义名称“admin”
那么我应该删除它吗?考虑到我初始化项目时自动添加它,这很奇怪。好的,你确定你有Django 1.6吗?导入django;打印(django.VERSION)
在Python控制台中。是的,我在linux2上找到了
Python 3.2.2(默认,2014年8月27日,10:31:54)[GCC 4.8.2],键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息。>>进口django;打印(django.VERSION)(1,6,5,'final',0)
Ok,如果运行
django-admin.py--VERSION
,会得到什么?嗯,这很奇怪,我得到
name错误:未定义名称“admin”