我settings.py在Django中的www.example.com文件太长了,我该如何将其一分为二?

bybem2ql  于 2023-02-05  发布在  Go
关注(0)|答案(5)|浏览(137)

我该怎么做?把两个文件分开?

33qvvth1

33qvvth11#

虽然我的解决方案没有上面的那么复杂,但它们符合我的简单需求:我的www.example.com文件中有一些导入settings.py:

try:
    from settings_local import *
except ImportError:
    pass

try:
    from settings_production import *
except ImportError:
    pass

然后我在本地开发文件夹中有一个settings_local.py文件(我没有将其上传到服务器),我在其中覆盖本地设置,然后我有一个settings_production.py服务器,我在其中保存生产环境所需的设置。
也可以使用此技术导入其他设置文件。

rpppsulh

rpppsulh2#

只要把它放在你喜欢的任何文件中,然后导入到你的主设置文件中的某个地方。
所以你可以在任何django能到达的地方设置新的my_new_settings.py设置,然后在你的真实的settings.py的末尾导入它。

# settings.py
# ...
from my_new_settings import *
bwitn5fc

bwitn5fc3#

这些页面可能会有所帮助:discussion on SO,关于djangoproject.com的讨论

8fq7wneg

8fq7wneg4#

创建new_settings.py文件以包含settings.py的一部分,然后将该文件导入到需要的位置。

cnh2zyt3

cnh2zyt35#

我不是一个PythonMaven,所以我的take可能是最非Python的方式。话虽如此,这是我如何划分Django应用程序的设置:
我们使用settings/__init__py文件而不是单个settings.py文件,它包含所有设置部分的导入,这些部分放在settings目录中。

# settings/__init__.py
from .foo import *
from .bar import *

# settings/foo.py
FOO="test"

# settings/bar.py
BAR="quz"

从应用程序的Angular 来看,这仍然是相同的旧设置模块;从你的Angular 看,它是一个干净的配置数据结构。

相关问题