我正在部署我的django项目,在webfaction服务器下命名为“Hesperides”。 webfaction中的默认项目文件夹是“myproject”所以我有这个错误:
ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named myproject.settings
问题是:如何从Hesperides.settings导入设置而不是myproject.settings?谢谢你的时间。
我的httpd.conf:
WSGIDaemonProcess jinn processes=2 threads=12 python-path=/home/zeioth/webapps/jinn:/home/zeioth/webapps/jinn/myproject:/home/zeioth/webapps/jinn/lib/python2.7:
WSGIScriptAlias / /home/zeioth/webapps/jinn/myproject/Hesperides/wsgi.py
我的wsgi.py
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'Hesperides.settings'
application = WSGIHandler()
我的文件夹树:
jinn
--apache2
-bin
--conf
-httpd.conf
-mime.types
-lib
-logs
-modules
-bin
-lib
--myproject
-manage.py
--Hesperides
-wsgi.py
-urls.py
-__init__.py
-settings.py
-apps
答案 0 :(得分:0)
问题已解决:这些是在webfaction下更改项目目录的步骤:
1-in httpd.conf in webapps / yourappname / apache2 set:
WSGIScriptAlias / /home/zeioth/webapps/jinn/myproject/yourNewName/wsgi.py
2 - 在您的应用的manage.py设置中:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourNewName.settings")
3 - 你的应用程序的wsgi.py设置:
os.environ['DJANGO_SETTINGS_MODULE'] = 'yourNewName.settings'
4 - 在你的应用的settings.py设置中:
WSGI_APPLICATION ='yourNewName.wsgi.application'
现在,runserver应该可以工作,或者告诉你是否需要安装一些模块。
答案 1 :(得分:0)
请注意,当您使用WSGIDaemonProcess时,您需要具有相应的WSGIProcessGroup指令,否则您的WSGI应用程序将不会被委派为在该守护进程组中运行。如果我记得的话,WebFaction会暂时生成一个损坏的配置文件。那个或者你从其中一个博客帖子中复制了这个例子。读: