Django设置加载器和验证器,具有本地风味。
项目描述
django-confit 简化了Django配置管理。
作为Django用户,为了配置项目
django-confit 帮助您从任何位置加载设置,无论格式如何:Python模块、环境变量、JSON、YAML…
django-confit 验证设置,即它告诉您是否缺少某些指令,格式错误…
作为Django库开发者,为了帮助您的应用程序用户
您使用 django-confit 的工具包和约定编写应用程序的配置架构。
django-confit 帮助您记录应用程序的特定配置。
作为非Django用户,为了部署和运行由Django支持的项目
您根据您的工作流程和配置工具包编写配置。您知道项目可以使用 django-confit 加载它们。
您期望应用程序在实际使用配置之前对其进行验证,并以可读的输出报告错误。
示例
在项目的 settings.py 文件中,让我们从各种位置加载配置
import os
import django_confit
# Load settings.
raw_settings = {}
raw_settings.update(django_confit.load_module('myproject.default_settings'))
raw_settings.update(django_confit.load_file(open('/etc/myproject.json')))
raw_settings.update(django_confit.load_mapping(os.environ, prefix='MYPROJECT_')
# Update globals, because that's the way Django uses DJANGO_SETTINGS_MODULE.
globals().update(raw_settings)
可选地,您可以使用内置架构来验证设置
# Validate and clean settings.
cleaned_settings = django_confit.validate_settings(raw_settings)
# Update globals, because that's the way Django uses DJANGO_SETTINGS_MODULE.
globals().update(cleaned_settings)
项目状态
今天,django-confit 是一个概念验证
加载设置既简单又容易。
验证配置很简单…前提是你有架构。
创建配置架构是冗长的。它使用 colander,它有很好的功能,但可能不是最终的选择。
从模式生成文档尚未实现。
主要限制是,当你使用验证时,模式是必须的。 如果某些配置指令未在模式中注册,则它将不会出现在验证输出中。这意味着,如果你安装了一个新的第三方Django应用程序,你需要此应用程序的配置模式,否则其设置将无法通过验证。 因此,最受欢迎的贡献是提交第三方应用程序的配置模式。
注意,这种行为是一个期望的功能。作为 django-confit 的作者,我认为 库应该始终为它们使用的设置提供模式。我并不假装 django-confit 应该是唯一的答案。我只是认为,如果模式在Django社区中得到广泛采用,配置将更容易管理。
django-confit 并不打算成为Django的终极配置管理应用程序。其目标是展示如何解决某些问题,并强调其优点。 django-confit 是一个提案。如果你喜欢其概念,那么你可以
当然使用 django-confit!
讨论,传播消息,发送反馈。
改进代码。帮助第三方应用程序的配置模式将受到欢迎。
资源
项目详情
django-confit-0.6.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 67aae98f18875ee06567e88515973874d2ce73dfe149a07a585366127315000c |
|
MD5 | aeb040047e1076acaa789f3bc454b48c |
|
BLAKE2b-256 | eda9e39d5aa20b7df58659e4fea79af0ca1bfe7e4820a44baeac9e0450f0b814 |