Django设置加载器和验证器,具有当地风味。

django-confit的Python项目详细描述


django confit简化了django配置管理。

作为django用户,以便配置项目:

  • django confit帮助您加载设置,无论它们在何处,无论 格式:python模块、环境变量、json、yaml…
  • django confit验证设置,即它告诉您 丢失,格式错误…

作为django库开发人员,以帮助应用程序的用户:

  • 使用django confit为应用程序编写配置模式 工具包和约定。
  • django confit帮助您记录应用程序的特定 配置。

作为非django用户,以便部署和运行django驱动的项目:

  • 根据您的工作流和 配置工具包。你知道这个项目可以用 django confit
  • 您希望应用程序在实际运行之前验证配置 使用它,并用可读的输出报告错误。

示例

在项目的settings.py文件中,让我们从 位置:

importosimportdjango_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>;=1.7没有内置模式。

项目状态

今天,django confit是概念的证明:

  • 加载设置非常简单。
  • 验证配置很容易…只要你有模式。
  • 创建配置架构是冗长的。它使用的colander很好 功能,但可能不是最终的选择。
  • 未实现从架构生成文档。

主要的限制是,当使用验证时,模式是 必须的。如果某个配置指令未在架构中注册,则 将不会出现在验证输出中。意思是,如果你安装了一个新的 第三方django应用程序,需要为此配置架构 应用程序,否则其设置将无法通过验证。所以最想要的 贡献正在提交第三方的配置架构 应用程序。

请注意,这种行为是需要的特性。作为作者,我 认为库应该始终为它们使用的设置提供架构。 我不认为答案应该是django confit。我敢打赌,如果 模式被django社区广泛采用,配置将是 更容易管理。

django confit并不假装是最终的配置管理 Django应用程序。它的目标是展示如何解决一些问题,以及 突出优点。django confit是一个提议。如果你喜欢的话 概念,然后您可以:

  • 当然可以使用django confit!
  • 讨论,传播信息,发送反馈。
  • 改进代码。有关第三方应用程序配置架构的帮助将是 很感激。

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

推荐PyPI第三方库


热门话题
Android Studio中的Java错误,但不是Eclipse   java如何使用jsp更新数据库中的文件?   jsoup如何在java中从较大的子字符串中提取多个子字符串?   java RestFB:当页面的URI具有页面名称时,无法获取页面帖子   java可以让Maven做我们在ANT构建中正在做的事情。xml   java如何在JasperReports中动态包含来自Servlet的图像?   java在hibernate中用新集更新旧集   从导出为可运行的Java应用程序创建、解析和管理XML文件。jar文件   在Java中使用数组的基础知识   调试从JAVA程序调用的MATLAB函数   java实现了Iterable hands错误大小的备份   JAVA木卫一。FileNotFoundException:请求的资源不可用   java Android Spring 1.0.1使用基本身份验证删除   java如何使用com解析和对象在一个数字数组中的值。fasterxml。杰克逊。数据绑定。对象映射器   比较两个字符串时发生java NullPointerException