我正在尝试让我的 Django 项目在生产服务器上运行。
我使用 pip 设置环境,因此它与一切运行良好的开发环境相同。唯一的区别是我不在生产环境中使用 virtualenv,因为这个项目是唯一将在生产环境中运行的项目。同样在生产中,有一个 Nginx 反向代理来提供静态内容,并将动态请求传递给 Apache2。
Apache wsgi 文件如下:
import sys, os
sys.path.append('/home/project/src')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
当我访问服务器时,我收到一个导入错误:
ImproperlyConfigured: Error importing middleware middleware: "cannot import name UserProfile"
其中指的是设置所引用的 src/ 文件夹下的 middleware.py。但是我可以从 ./manage.py shell 提示符中导入中间件和 UserProfile 类。
wsgi 文件中的路径似乎有问题,但我看不到是什么。目录结构为:
/home/project
/home/project/src (which contains the settings.py, middleware.py and app folders)
/home/apache/apache.wsgi
任何帮助是极大的赞赏。
谢谢,奥马特