gpt4 book ai didi

python - 将settings.py移出django项目,如何设置使其正常工作?

转载 作者:行者123 更新时间:2023-12-01 08:26:00 26 4
gpt4 key购买 nike

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 目录中时。我会仔细考虑你为什么要这样做。

关于python - 将settings.py移出django项目,如何设置使其正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54250337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com