扩展django配置的基于入口点的解决方案。
django-extraconfig的Python项目详细描述
django extroconfig
使用django-extraconfig很容易扩展django项目 settings.py文件。此模块提供的唯一功能是 load_extraconfig(entry_point_name, module_name)。
- extraconfig.load(entry_point_name, module_name)
- 从入口点模块加载所有大写值 进入名为module_name重写的模块 任何现有值.< /dd>
用法
在settings.py文件的底部添加:
try: import extraconfig except ImportError: pass else: extraconfig.load(<entry_point_name>, __name__)
entry_point_name可以是任何字符串值,但是 包括projectname以避免名称冲突。例如 加载下面显示的额外配置,entry_point_name应该是 设置为“my_project.extconfig”。
创建额外配置
很容易创建一个额外的配置模块。最小的计划 布局由两个文件组成:setup.py和模块文件。模块 将使用setup.py文件安装,就像其他常规文件一样 python模块。为了让django-extraconfig知道这个模块 应该用于重写setup.py中的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
这将在开发模式下安装额外的配置模块,这意味着 您可以编辑额外的设置,所有更改都将在没有 重新安装。