繁体   English   中英

我的Django应用程序必须与项目目录名称相同吗?

[英]Does my Django app have to be the same name as the project directory?

我已经将我的Django存储库从bitbucket拉到了数字海洋服务器上。 我在服务器中的项目文件夹名称是project而我在仓库中的初始应用程序(带有settings.pyapp称为app 。这会导致任何问题吗?因为我知道在离线创建django项目时,第一个目录始终是与父目录相同。

父目录和项目目录的名称(与settings.py相同)不会有任何问题。 您可以尝试重命名父目录,它仍然可以以相同的方式工作,但是不应触摸项目目录的名称,因为该名称与用于运行项目的项目设置链接在一起。

而我的仓库中的第一个应用程序(带有settings.py的应用程序

那不是应用程序,那是您项目的配置。

不,项目的根目录和配置目录具有相同的名称不会造成任何问题。

这甚至是设计成完全正常的方式。

由于wsgi.py(应该是您用于生产的内容)可以动态处理路径,因此只要保留了项目的内部结构即可(不要重命名项目的配置目录)。

项目的绝对路径不是硬编码的,它是通过获取配置目录的父目录来检索的。 您可以移动项目,甚至重命名其根目录。

处理方法如下:

wsgi.py

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testproject.settings")

wsgi.py设置正确的值以使用正确的settings.py文件。

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

settings.py动态设置BASE_DIR 然后,此值将用于处理路径,以避免硬编码的绝对路径在您移动项目后立即无法使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM