【问题标题】:Error with django middleware settingsdjango 中间件设置错误
【发布时间】:2015-01-05 07:01:03
【问题描述】:

我正在使用 django 1.7,我的中间件设置如下所示:

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

我使用 apache2 作为我的网络服务器。按照设置,当我尝试访问我的站点时,我收到 500 内部服务器错误。但是,当我注释掉 'django.contrib.auth.middleware.SessionAuthenticationMiddleware' 时,一切正常。是否有我缺少的相关设置? apache错误日志如下:

ImproperlyConfigured: Module "django.contrib.auth.middleware" does not define a "SessionAuthenticationMiddleware" attribute/class

【问题讨论】:

  • Apache 错误日志是怎么说的?
  • apache 错误日志显示 -ImproperlyConfigured: Module "django.contrib.auth.middleware" 没有定义 "SessionAuthenticationMiddleware" 属性/类
  • 你确定你有 1.7 吗?该类仅在发布之前的 1.7 中引入。 import django; print django.get_version() 的结果是什么?
  • 啊,实际上是在我的生产服务器上 - (1, 6, 1, 'final', 0)。我很困惑,因为我在本地机器上使用 django 1.8 开发了应用程序

标签: python django apache


【解决方案1】:

我自己也遇到过同样的问题。该问题是由与 django 安装的某些“ssl”库冲突的安装引起的。 卸载重装,最有效的解决这个问题。

我建议,卸载所有 django 版本:

“sudo pip uninstall django”多次,直到所有 django 发行版都被卸载。

然后,重新安装

“sudo pip install django”

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多