Python 将settings.py移出django项目,如何设置以使其正常工作?
1我的项目目录结构:Python 将settings.py移出django项目,如何设置以使其正常工作?,python,django,Python,Django,1我的项目目录结构: ├── project_one ├── conf ├── dist ├── logs ├── backend_server ├── front_web ├── logs ├── uwsgi.sh └── venv3.5 后端服务器是我的Django项目: ├── backend_server ├── app1 ├──
├── project_one
├── conf
├── dist
├── logs
├── backend_server
├── front_web
├── logs
├── uwsgi.sh
└── venv3.5
后端服务器是我的Django项目:
├── backend_server
├── app1
├── app2
├── manage.py
├── README.md
├── requirements.txt
├── backend_server
├── templates
└── utils
现在,为了方便起见,我想将backend\u 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
4backend_server.wsgi.py
导入操作系统
导入系统
从django.core.wsgi导入获取\u wsgi\u应用程序
os.environ.setdefault('DJANGO\u设置\u模块','backend\u服务器.SETTINGS')
application=get\u wsgi\u application()
当我使用uwsgi
启动我的项目时,它失败了,我不知道如何纠正这个错误
你能帮我一下吗?从原始代码中可以看出,DJANGO_SETTINGS_模块是Python模块路径,而不是文件路径。您需要确保
conf
目录或其父目录位于pythonpath上,并通过点符号引用它
例如,你可以这样做:
sys.path.append('/path/to/project_one/conf')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
现在您已经完成了这项工作,几乎肯定需要将ROOT_URLCONF设置更改为指向主url.py所在的位置,因为它与设置不在同一位置
注意,这整件事听起来像是一团糟,尤其是当wsgi文件仍保留在后端服务器目录中时。我会仔细考虑你为什么要这样做。如果你已经移动了设置,你肯定需要将DJANGO_设置_模块更改为指向它现在所在的位置?@DanielRoseman感谢你的反馈,先生,当我尝试加入conf所在的路径和设置时,它引发了导入错误:没有名为“/home/rookie/project\u one/conf/settings”的模块