将settings.py从Django项目中移出,如何进行设置以使其正常工作?

时间:2019-01-18 08:46:23

标签: python django

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启动项目时,它失败了,我不确定如何更正此错误。

您能帮我吗?

1 个答案:

答案 0 :(得分:1)

从原始代码中可以看到,DJANGO_SETTINGS_MODULE是Python模块路径,而不是文件路径。您需要确保INSERT INTO TICKET_SALES ( TRXDATE, KIOSKID, BOOKINGREFERENCENUM ) SELECT '2019-01-18 16:59:29', 'KIOSK1', 1 + ISNULL( (SELECT TOP 1 BOOKINGREFERENCENUM FROM TICKET_SALES ORDER BY BOOKINGREFERENCENUM DESC), 0) 目录或其父目录位于pythonpath上,并通过点分符号来引用它。

所以您可以例如:

conf

现在您已经完成了此操作,几乎可以肯定,您需要将ROOT_URLCONF设置更改为指向主urls.py所在的位置,因为它与设置不在同一位置。

注意,这听起来很糟,尤其是wsgi文件保留在backend_server目录中。我会仔细考虑您为什么要这样做。