处理应用程序设置的帮助程序

coolfig的Python项目详细描述


冷却图

https://img.shields.io/travis/GaretJax/coolfig.svghttps://img.shields.io/pypi/v/coolfig.svghttps://img.shields.io/pypi/dm/coolfig.svghttps://img.shields.io/coveralls/GaretJax/coolfig/master.svghttps://img.shields.io/badge/docs-latest-brightgreen.svghttps://img.shields.io/pypi/l/coolfig.svghttps://img.shields.io/requires/github/GaretJax/coolfig.svg

CoolFig是一个很容易编写配置规范的库 由各种来源完成。

安装

pip install coolfig

示例

定义模式:

fromcoolfigimportSettings,Value,typesclassDefaultSettings(Settings):SECRET_KEY=Value(str)DEBUG=Value(types.boolean,default=False)DB_URL=Value(types.sqlalchemy_url)LOCALES=Value(types.list(str))

使用数据提供程序实例化配置:

fromcoolfigimportEnvConfigsettings=DefaultSettings(EnvConfig(prefix='MYAPP_'))

利润:

ifsettings.DEBUG:print(settings.SECRET_KEY)else:print(settings.LOCALES)connect(settings.DB_URL)

django积分

settings.py文件中:

fromcoolfigimportEnvConfig,load_django_settingsINSTALLED_APPS=('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','testprj.my_custom_app',)MIDDLEWARE_CLASSES=('django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.auth.middleware.SessionAuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware','django.middleware.security.SecurityMiddleware',)ROOT_URLCONF='testprj.urls'WSGI_APPLICATION='testprj.wsgi.application'TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':[],'APP_DIRS':True,'OPTIONS':{'context_processors':['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},]load_django_settings(EnvConfig(),locals())

然后,在每个应用程序的每个settings子模块中,可以定义额外的 设置要添加到主设置对象的项。例如,在 testprj/my_custom_app/settings.py您可以添加以下内容:

fromcoolfigimportSettings,ValueclassAppSettings(Settings):# The class has to be named AppSettingsMY_APP_SETTING=Value(str)

使用与Django的设置机器完全兼容:

fromdjango.confimportsettingssettings.MY_APP_SETTING

历史记录

3.1.0-2018年8月23日

  • 使EnvDirConfig可从coolfig导入。

3.0.0-2018年8月23日

  • 删除了对支持EnvDirConfig和 一个FallbackProvider
  • 使用blackisort进行格式化。
  • 提高了测试覆盖率

2.0.0-2018-08-03

  • 支持Docker Secrets。

1.0.2-2016年3月14日

  • 附加bug修复。

1.0.1-2016年3月14日

  • 修正了appconfig检查中的错误。

1.0.0-2016年3月14日

  • 添加了对djangoAppConfig(包括自定义设置路径)的支持 使用配置类上的settings属性配置。
  • 正式支持django 1.4、1.5、1.6、1.7、1.8和1.9,继续运行 python 2.7、3.4(django支持自己)和pypy。

0.4.0-2015年10月05日

  • 添加了对caches django settings指令的支持
  • 增加了对计算值的支持
  • 添加了初始文档存根

0.3.0-2015年7月20日

  • 为django添加了一流的支持
  • 添加了一些导入快捷方式(EnvConfigDictConfigload_django_settings
  • 添加了一个DictValue值,可以加载具有相同前缀的多个键 进入相同值
  • 添加了一个API来将不同的设置模式合并到一个现有的对象中

0.2.0-2015年5月31日

  • 添加了一个EnvConfig提供者
  • 添加了dottedpath值类型

0.1.0–2015年5月30日

  • 初始版本

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

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件