Django教程:runserver错误

时间:2014-10-01 20:19:26

标签: python django macos

我正在关注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

2 个答案:

答案 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',