我刚刚通过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
#!/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)
答案 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()
一旦启动并运行,您就可以开始用相对路径替换绝对路径(或者如果有信心,从开始就这样做)。
希望这有帮助,
此致