[英]how to import the custormed settings.py variable in django project?
[英]Moving settings.py out of django project, how to set up to make it in work correctly?
1 我的项目目录结构:
├── project_one
├── conf
├── dist
├── logs
├── backend_server
├── front_web
├── logs
├── uwsgi.sh
└── venv3.5
2 backend_server
是我的 Django 项目:
├── backend_server
├── app1
├── app2
├── manage.py
├── README.md
├── requirements.txt
├── backend_server
├── templates
└── utils
为了方便起见,现在我想将backend_server.settings.py
移动到conf
目录中。
3 conf/uwsgi.ini:
chdir=/home/rookie/project_one/backend_server
module=backend_server.wsgi
enable-threads=True
...
http=0.0.0.0:port
4 backend_server.wsgi.py
import os
import sys
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend_server.settings')
application = get_wsgi_application()
当我使用uwsgi
启动我的项目时,它失败了,我不知道如何纠正这个错误。
你能帮我解决这个问题吗?
从原始代码中可以看出,DJANGO_SETTINGS_MODULE 是 Python 模块路径,而不是文件路径。 您需要确保conf
目录或其父目录在 pythonpath 上,并通过点号表示法引用它。
所以你可以做例如:
sys.path.append('/path/to/project_one/conf')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
既然您已经完成了此操作,您几乎肯定需要更改 ROOT_URLCONF 设置以指向主 urls.py 所在的位置,因为它与设置不在同一位置。
请注意,这整个事情听起来一团糟,尤其是当 wsgi 文件保留在 backend_server 目录中时。 我会仔细考虑你为什么要这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.