Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将settings.py移出django项目,如何设置以使其正常工作?_Python_Django - Fatal编程技术网

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

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 ├──

1我的项目目录结构:

    ├── 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

4
backend_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”的模块