处理应用程序设置的辅助工具
项目描述
COOLFIG
Coolfig是一个库,可以轻松编写由各种来源满足的配置规范。
免费软件:MIT许可证
安装
pip install coolfig
示例
定义您的模式
from coolfig import Settings, Value, types
class DefaultSettings(Settings):
SECRET_KEY = Value(str)
DEBUG = Value(types.boolean, default=False)
DB_URL = Value(types.sqlalchemy_url)
LOCALES = Value(types.list(str))
使用数据提供程序实例化配置
from coolfig import EnvConfig
settings = DefaultSettings(EnvConfig(prefix='MYAPP_'))
盈利
if settings.DEBUG:
print(settings.SECRET_KEY)
else:
print(settings.LOCALES)
connect(settings.DB_URL)
Django集成
在您的 settings.py 文件中
from coolfig import EnvConfig, load_django_settings
INSTALLED_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 中,您可以添加以下内容
from coolfig import Settings, Value
class AppSettings(Settings): # The class has to be named AppSettings
MY_APP_SETTING = Value(str)
使用与Django设置机制100%兼容
from django.conf import settings
settings.MY_APP_SETTING
历史
3.1.0 - 2018-08-23
从 coolfig 导入 EnvDirConfig。
3.0.0 - 2018-08-23
取消了对密钥的显式支持,转而支持 EnvDirConfig 和 FallbackProvider。
使用 black 和 isort 进行格式化。
提高了测试覆盖率
2.0.0 - 2018-08-03
支持Docker密钥。
1.0.2 - 2016-03-14
其他错误修复。
1.0.1 - 2016-03-14
修复了AppConfig检查中的错误。
1.0.0 - 2016-03-14
添加了对Django AppConfig 的支持(包括在配置类上使用 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
添加了对Django设置指令CACHES的支持
添加了对computed_values的支持
添加了初始文档存根
0.3.0 - 2015-07-20
添加了对Django的一级支持
添加了更多的导入快捷方式(EnvConfig、DictConfig、load_django_settings)
添加了一个DictValue值,能够将具有相同前缀的多个键加载到同一个值中
添加了一个API,可以将不同的设置模式合并到现有对象中
0.2.0 - 2015-05-31
添加了一个EnvConfig提供者
添加了一个dottedpath值类型
0.1.0 – 2015-05-30
初始发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分发
构建分发
coolfig-3.1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0fb5d6988f6afa0019dc14c9872ecc4563787d4e0f0e81160b5da9b057804b6d |
|
MD5 | fe95b740d289f1c74fd5bdd94ea03b89 |
|
BLAKE2b-256 | a69e79928f308bf8e147bb4fa93a2ee057b112c02a8b78ac6f5e0d2ac2af2ade |
coolfig-3.1.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 036e9be6aac073eccffa69e15743a5937abe20feb4f32bb7b41a7ed3a281bcab |
|
MD5 | fdfe4d99a4c61ed1541b497e5c524b0a |
|
BLAKE2b-256 | 7011ecab31792f6e04290e4992f4d995a29eee81c0dfd92d61c04fcb8658371a |
coolfig-3.1.0-py2.py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9cbf1e08c82f45055aa77d381ca4adc8ac80123b3cefe5869f09efbf5f34ffeb |
|
MD5 | 4b9204da40d155d0dd294df5ebcb3c2c |
|
BLAKE2b-256 | 7499b80db7a8819c799881896d4b3e514ac90dc39ccc5ed4e9a4aecd9b017de3 |