0

我已经设置好 Django 并且在我的本地机器上运行良好,我现在正尝试将它部署在带有mod_wsgi. 一个变量是我在本地有 Python 2.7.3,而在我的生产环境 (EC2) 中我有 Python 2.6.8,理论上它仍然与 Django 1.5 兼容。

我能够看到介绍 Django 页面并成功运行./manage.py startapp myapp./manage.py syncdb但是在重新启动httpd并尝试通过浏览器访问该站点后,我收到一个500错误,并且以下内容显示在我的error_log

mod_wsgi (pid=7852): Exception occurred processing WSGI script '/path/to/my/django.wsgi'.
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 236, in __call__
    self.load_middleware()
  File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 59, in load_middleware
    mw_instance = mw_class()
TypeError: auth() takes exactly 1 argument (0 given)

出于所有意图和目的,我的设置与我本地环境中的设置相同(保存 DEBUG 标志等)。我无法找出配置问题出在哪里。我个人发现 Django 文档对于部署来说相当糟糕,而且没有太多其他人遇到过这堵墙。

如果需要,我很乐意提供更多细节。

4

1 回答 1

3

发生这种情况时我很生气,但是我在发布此消息后不久就发现了问题。我在settings.py中间件部分下有一行指向auth上下文处理器而不是中间件模块。我删除了它,一切都很好。

于 2013-06-23T16:23:31.920 回答