使用FTP部署Django项目

时间:2014-04-23 03:11:28

标签: django apache ftp

我刚刚通过FTP部署了我的Django项目,现在当我尝试运行./manage.py shell时,它继续说ImportError: Could not import settings 'somedjango.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named settings

它是一个ubuntu服务器。我甚至将httpd.conf更新为

WSGIScriptAlias / /var/www/django_venv/mydjango/wsgi.py
WSGIPythonPath /var/www/django_venv
<Directory /var/www/django_venv>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

仍然没有运气

如果我缺少任何信息,请告诉我,我也会加上

应用程序的结构

django_venv
--venv
--templates
--mydjango
----settings.py
----wsgi.py
----url.py
--app1
--app2
--requirement.txt
--Procfile
--manage.py

manage.py

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mydjango.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

1 个答案:

答案 0 :(得分:1)

作为最后的手段,你应该尝试在wsgi.py文件中追加到sys.path的绝对路径。

import sys 
import os

sys.path.append('path/to/mydjango')
# sys.path.append('path/to/mydjango/mydjango')
# more as needed.

然后平常:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mydjango.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

一旦启动并运行,您就可以开始用相对路径替换绝对路径(或者如果有信心,从开始就这样做)。

希望这有帮助,

此致