python - 如何模块化 django settings.py?

标签 python django

当你安装一个新的 django 应用程序时,你必须添加/修改你的 settings.py 模块。

对于一个项目,我正在尝试将该模块作为 python 子包并为每个应用程序创建一个模块:

settings\
    __init__.py
    base.py
    admin.py
    feincms.py
    ...

我面临的问题是如何合并在不同子模块中获取值的 settings.py 属性(例如 INSTALLED_APPS 是一个值的元组)?

谢谢


好的,我问错了问题(虽然得到了正确的答案)。我的问题应该是,如何从所有子模块中获取属性并合并它们? Django 将导入设置并期望一切都在那里。

最佳答案

“当你安装一个新的 django 应用程序时,你必须添加/修改你的 settings.py 模块。”

我认为这很好。

我完全看不出有任何改变或修改它的理由。

然而,我们所做的是对核心设置模块进行“子类化”。

我们的开发人员特定和安装特定文件的名称如 settings_devxy_linux2settings_checkout_win32 等。

每个文件都以 from settings import * 开头,以导入核心设置并通过覆盖特定安装和平台来扩展这些核心设置。

它不需要任何实际工作。然而,这确实意味着我们用 django-admin.py 做大部分事情,因为我们的设置不称为 settings

关于python - 如何模块化 django settings.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035733/

相关文章:

python - 在 Python C API 中使用多个模块/类型?

javascript - 提交 AjaxForm 时识别特定按钮

Django TypeError 缺少 1 个必需的位置参数 : 'person_id'

python - 在 AWS S3 上将数据从一个文件夹移动/复制到另一个文件夹

python - 将高度嵌套的 MAT 文件加载到 Python 中

python - Python中获取父类的名称

python - 如何确保输入键没有被输入到密码中

python - 尝试使用 ElasticSearch 后端更新索引时出错

python - 导入错误 : cannot import name normalize

python - 将 header 值传递给 django 中的 get 请求