Python Django 1.8:配置不当:模块;django.contrib.auth.middleware”的;不定义一个;SessionAuthenticationMiddleware“;属性/类
我开始了我的虚拟电视。然后通过Python Django 1.8:配置不当:模块;django.contrib.auth.middleware”的;不定义一个;SessionAuthenticationMiddleware“;属性/类,python,django,middleware,django-middleware,django-1.8,Python,Django,Middleware,Django Middleware,Django 1.8,我开始了我的虚拟电视。然后通过python manage.py runserver启动我的服务器。 我最终访问了我的django站点,并得到以下错误 (venv)N$ python manage.py runserver Validating models... 0 errors found June 11, 2015 - 19:27:19 Django version 1.6.5, using settings 'nirsite.settings' Starting development
python manage.py runserver
启动我的服务器。
我最终访问了我的django站点,并得到以下错误
(venv)N$ python manage.py runserver
Validating models...
0 errors found
June 11, 2015 - 19:27:19
Django version 1.6.5, using settings 'nirsite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/Library/Python/2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
return self.application(environ, start_response)
File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
self.load_middleware()
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 45, in load_middleware
mw_class = import_by_path(middleware_path)
File "/Library/Python/2.7/site-packages/django/utils/module_loading.py", line 31, in import_by_path
error_prefix, module_path, class_name))
ImproperlyConfigured: Module "django.contrib.auth.middleware" does not define a "SessionAuthenticationMiddleware" attribute/class
我已经查过了,我无法用这些答案来解决这个问题。鉴于venv设置正确,我认为摆脱任何中间软件都没有意义
我可以根据要求提供更多信息
更新:
好吧,我的虚拟电视好像有问题。
在我启动这个virtualenv之后,我确实在它里面安装了django,但是现在如果我再次在它里面输入,我会得到以下结果:
Requirement already satisfied (use --upgrade to upgrade): django in /Library/Python/2.7/site-packages
我想这并不是指我的虚拟世界,所以我猜这是个问题。为什么我所在的venv没有安装django?我怎样才能解决这个问题?下次不会遇到这个问题吗?你写的:Django 1.8
但是看看log:Django版本1.6.5
存在问题-请在virtualenv中检查django版本,或者您可能只是忘记了为django 2.0及以上版本激活virtualenv Django 2.0中删除了SessionAuthenticationMiddleware(参见Django 2.0发行说明) 只需将其从
中间件\u类中删除即可
发布到这里是因为我在升级到Django 2时遇到了同样的问题。您是否尝试从中间件类中的project settings.py中删除“Django.contrib.sessions.middleware.SessionMiddleware”是的,我仍然收到相同的错误。我不明白为什么我要把它拿走?但是,如果我删除所有这些,似乎可以修复出现的错误。不过,我真的不想这样做。回溯表明它不会在virtualenv中搜索Django安装,而是从安装在系统Python库中的版本中搜索,该版本位于
/library/Python/2.7/…
。将Django安装到virtualenv中是否没有问题?你还看到pip install django
的输出吗?@sthzg我已经用更多信息更新了我的问题。当你激活你的virtualenv并键入哪个pip
和哪个python
时,这些是否指向你的virtualenv的正确路径?如果是,请尝试使用pip install安装Django——忽略已安装的Django
。如果Django已经在系统范围内安装()并安装到您的virtualenv,则应该忽略此问题。之后,您可以停用并重新激活您的virtualenv,然后再次测试它。