跳转到主要内容

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 (31.3 kB 查看散列)

上传时间

支持者