Django:无法安装外部中间件

时间:2014-03-01 03:00:55

标签: django middleware

到目前为止,我只需启用似乎已安装在我的系统上的django中间件。这是通过将相关行添加到我的settings.py文件来完成的。

然而,现在,我正在尝试安装第三方中间件,并遇到各种麻烦。

包是django-mobi,按照说明https://pypi.python.org/pypi/django-mobi/>我在改变settings.py文件后运行apache restart脚本时,只是在浏览器中收到错误200。

这就是我所做的:

1)在我的项目路径中放置了“package”,googling建议意味着“myproject”目录下的任何内容:

$ ls
django-mobi-0.1.7  django-mobi-0.1.7.tar.gz  manage.py  mobi  myproject

2)添加了对settings.py文件指定的行

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'mobi.MobileDetectionMiddleware',
)

重新启动apache没有最后一个mobi行被注释掉的元组会导致错误200,即使我已启用调试模式,所以它对诊断问题毫无帮助。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

终于明白了。根据我解压缩的目录结构,有一个额外的“中间件”文件名需要添加到settings.py中的路径。所以现在它看起来像这样:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'mobi.middleware.MobileDetectionMiddleware',
    )

它工作正常