Django 1.8:不正确的配置:模块“django.contrib.auth.middleware”没有定义“SessionAuthenticationMiddleware”属性/类

时间:2015-06-11 19:59:34

标签: python django middleware django-middleware django-1.8

我开始了我的virtualenv。然后通过optional启动了我的服务器。 我最终访问了我的django网站并收到以下错误。

python manage.py runserver

我已经检查了这个Stackoverflow,我无法用这些答案解决问题。看到venv设置正确,我不认为摆脱任何中间件是有道理的。

我可以根据要求提供更多信息。

更新

好吧,这看起来像我的virtualenv的问题。 在我开始使用virtualenv后,我在其中(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 ,但现在如果我再次在其中输入,我会得到以下内容:

pip install django

这并不是指我的想法,所以我猜这是一个问题。为什么我没有安装django的venv?我怎样才能解决这个问题?并且下次不会遇到问题?

2 个答案:

答案 0 :(得分:1)

您写道:Django 1.8

但请看日志:Django版本1.6.5

有问题 - 在virtualenv中检查django版本或者你可能只是忘了激活virtualenv

答案 1 :(得分:0)

对于 Django 2.0 及更高版本

SessionAuthenticationMiddleware在Django 2.0中已删除(请参阅Django 2.0发行说明here

只需将其从MIDDLEWARE_CLASSES上删除

将其发布在这里是因为升级到Django 2时我遇到了同样的问题