如何让一个django包修改settings.py?

Posted

技术标签:

【中文标题】如何让一个django包修改settings.py?【英文标题】:How to make a django package modify settings.py? 【发布时间】:2015-05-27 14:27:01 【问题描述】:

我正在尝试设置一个 django 应用程序,它本身有一些依赖项。其中之一 (crispy forms) 需要在 settings.py 中设置一些设置,然后应用程序才能运行。我知道我想使用什么默认值。如何让我的应用即时修改默认设置?具体来说:

    如何确保我创建的任何自定义设置文件都被 django 识别为设置文件? 如何实际修改设置?

对于上面的 (2),看起来 this link on Django Code 可能有效,但它没有解释如何处理 (1)。提前致谢!

【问题讨论】:

嗨@eykanal,我有同样的问题。你设法解决了吗?怎么样? @tjanez - 在阅读之后,我决定无法做到这一点是设计使然。用户应该必须明确地包含任何必需的包,以确保它们不会与他们可能已经安装的其他东西冲突。我只是写了一份非常详细的说明清单,以确保他们安装所需的一切。 【参考方案1】:

您可以在主 settings.py 中添加 Krispy 表单设置,但如果您希望将依赖项设置应用程序与您的设置分离,则必须创建 Krispy_settings.py 文件并将其导入您的设置文件中。

【讨论】:

这没有回答问题,我特别不想修改主要的settings.py 文件。如何制作被 django 拾取的 settings.py 文件?

以上是关于如何让一个django包修改settings.py?的主要内容,如果未能解决你的问题,请参考以下文章

Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)

如何解决Django 1.8在migrate时失败

如何解决Django 1.8在migrate时失败

Django 修改配置文件

如何在django上自动创建createuperuser

Django settings.py 的media路径设置