扩展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

这将在开发模式下安装额外的配置模块,这意味着 您可以编辑额外的设置,所有更改都将在没有 重新安装。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
基于Java的遗传算法确定最优交易行为   java改型2.0无法解析Json嵌套对象   java在数组中查找最大额定值(数字),我们不能跳过数组中的一个或多个连续数字   java在spring boot中从命令行设置活动概要文件和配置位置   JavaAxis2:传输错误:404错误:未找到帮助理解其真正含义   java使用Play2WAR和Play2.2.1   java理解函数运算符:Lambda   在代理java后面读取https网页数据   java应用程序。Android单元测试中的类mock   java为什么onClick布局XML引用的方法需要是公共的?   从SMTLIB2文件解析的java显示声明   java重写给定的类以使用组合而不是继承   HTMLUnit和Java:NoSuchMethodException:createDefaultSSLContext()   java如何使用Spring和ThymeLeaf从前端正确更新后端中的对象?   来自init()Java的方法调用   使用cellrendering从数据库向JTable动态添加数据后,java无法使用JTable执行排序操作   java Android Studio 1.5.1。渲染错误(浮动操作按钮)   web服务如何使用UsenameToken和PasswordDigest为JAVA中的SOAP客户端附加wsse安全头   java为什么要在局部变量和myApplicationClass中同时删除“ArrayList.remove”?