我的Django应用程序是否必须与项目目录同名?

问题描述 投票:0回答:2

我把我的django repo从bitbucket拉到我的数字海洋服务器上。我的服务器中的项目文件夹名称是project,而我的repo中的初始应用程序(settings.py的应用程序称为app。这会导致任何问题吗?因为我知道当你创建离线django项目时,第一个目录总是相同的父目录。

python django
2个回答
1
投票

而我的回购中的初始应用程序(带有settings.py的应用程序)

这不是一个应用程序,这是您项目的配置。

不,对于项目的根目录具有相同的名称,它的配置目录不应该导致任何问题。

这甚至是如此设计,所以这是完全正常的。

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

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

以下是它的处理方式:

我是个i.朋友 :

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

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

settings.朋友 :

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

settings.py动态设置BASE_DIR。这个值就是用于处理路径的值,以避免使用硬编码的绝对路径,一旦移动项目就无法工作。


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.