我正在关注django教程,我立即在第1部分遇到问题。运行python manage.py runserver后,我在浏览器中输入URL并收到错误:
ImproperlyConfigured: Module "django.contrib.auth.middleware" does not define a "SessionAuthenticationMiddleware" attribute/class"
下面我包含了错误以及我正在运行的python和django的版本。任何帮助将不胜感激
^C172-29-17-104:mysite [redacted]$ python -V
Python 2.7.5
172-29-17-104:mysite [redacted]$ python -c "import django; print(django.get_version())"
1.6.4
172-29-17-104:mysite [redacted]$ python manage.py runserver
Validating models...
0 errors found
October 01, 2014 - 20:12:56
Django version 1.6.4, using settings 'mysite.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 47, 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
[01/Oct/2014 20:13:44] "GET / HTTP/1.1" 500 59
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 47, 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/classpython manage.py runserver
答案 0 :(得分:4)
看起来你使用的是版本1.7之前的django版本(具体为1.6.4),并且直到django 1.7才引入SessionAuthenticationMiddleware
。因此错误
Documentation can be found here
在右下角,您可以选择django的版本。选择适当的版本,并按照特定于您正在使用的django版本的教程进行操作。
答案 1 :(得分:1)
只需从项目settings.py
中删除以下会话身份验证中间件 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',