基于入口点扩展Django配置的解决方案。
项目描述
django-extraconfig
使用 django-extraconfig,可以轻松扩展Django项目的 settings.py 文件。此模块提供的唯一功能是 load_extraconfig(entry_point_name, module_name)。
- extraconfig.load(entry_point_name, module_name)
将入口点模块中的所有大写值加载到名为 module_name 的模块中,覆盖任何现有值。
用法
在您的 settings.py 文件底部添加
try: import extraconfig except ImportError: pass else: extraconfig.load(<entry_point_name>, __name__)
entry_point_name 可以是任何字符串值,但为了防止名称冲突,建议包含项目名称。例如,要加载下面的额外配置,entry_point_name 应设置为 “my_project.extraconfig”。
创建一个额外配置
创建一个额外配置模块非常简单。最小项目布局由两个文件组成:setup.py 和模块文件。模块将像任何其他常规Python模块一样使用 setup.py 文件进行安装。为了让 django-extraconfig 知道该模块应用于覆盖您的Django配置,您必须在入口点配置中添加它。
一个最小的 setup.py 文件可以看起来像这样
from setuptools import setup setup( name='my_extra_config', version='0.1', py_modules=['my_extra_config'], entry_points = { 'my_project.extraconfig': 'main = my_extra_config' } )
现在您可以在项目中添加一个 my_extra_config.py 文件,其中包含您想要覆盖的设置
DEBUG = True
安装额外配置
一旦额外配置项目准备就绪,您可以运行
python setup.py develop
这将以开发模式安装额外配置模块,这意味着您可以编辑额外设置,而无需重新安装即可看到所有更改。
项目详情
关闭
django-extraconfig-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 45db7666494ed749022566b4053d5caf302ebe033dcce7ba350e1855e1229f37 |
|
MD5 | 63899d76f9f7a6e18645af1baf4e6a24 |
|
BLAKE2b-256 | 13db909b9f86b9e1173fee96318efd532487399f4408b214a8531b7d7f624417 |