处理应用程序设置的帮助程序
coolfig的Python项目详细描述
冷却图
CoolFig是一个很容易编写配置规范的库 由各种来源完成。
- 自由软件:麻省理工学院许可证
- 文档:http://coolfig.rtfd.org
安装
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。
- 使用black和isort进行格式化。
- 提高了测试覆盖率
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添加了一流的支持
- 添加了一些导入快捷方式(EnvConfig,DictConfig, load_django_settings)
- 添加了一个DictValue值,可以加载具有相同前缀的多个键 进入相同值
0.2.0-2015年5月31日
- 添加了一个EnvConfig提供者
- 添加了dottedpath值类型
0.1.0–2015年5月30日
- 初始版本