当你安装一个新的 django 应用程序时,你必须添加/修改你的 settings.py 模块。
对于一个项目,我正在尝试将该模块作为 python 子包并为每个应用程序创建一个模块:
settings\
__init__.py
base.py
admin.py
feincms.py
...
我面临的问题是如何合并在不同子模块中获取值的 settings.py 属性(例如 INSTALLED_APPS 是一个值的元组)?
谢谢
好的,我问错了问题(虽然得到了正确的答案)。我的问题应该是,如何从所有子模块中获取属性并合并它们? Django 将导入设置并期望一切都在那里。
最佳答案
“当你安装一个新的 django 应用程序时,你必须添加/修改你的 settings.py 模块。”
我认为这很好。
我完全看不出有任何改变或修改它的理由。
然而,我们所做的是对核心设置模块进行“子类化”。
我们的开发人员特定和安装特定文件的名称如 settings_devxy_linux2
和 settings_checkout_win32
等。
每个文件都以 from settings import *
开头,以导入核心设置并通过覆盖特定安装和平台来扩展这些核心设置。
它不需要任何实际工作。然而,这确实意味着我们用 django-admin.py
做大部分事情,因为我们的设置不称为 settings
。
关于python - 如何模块化 django settings.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035733/