允许对 Django 进行更复杂和动态的设置
项目描述
django 增强设置
允许对 Django 进行更复杂和动态的设置。
附加功能
cloud-secret-manager
- 添加对 Google Cloud Secret Manager 的支持
例子
import os
from django_enhanced_settings import Settings
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
settings = Settings(BASE_DIR)
def __dir__():
return settings.dir(globals())
def __getattr__(name):
return settings.getattr(name, globals())
_DEBUG = settings.boolean_value('DJANGO_DEBUG', False)
_ALLOWED_HOSTS = settings.list_value(
'DJANGO_ALLOWED_HOSTS',
['localhost'] if _DEBUG.value else [],
split_char=';'
)
_SECRET_KEY = settings.string_value('DJANGO_SECRET_KEY', required=True)
INSTALLED_APPS = [...]
from django.conf import setings
settings.DEBUG # By default returns False
规则
- 您不能使用为实例 ( )
ConfigValue
设置的命名方案来命名非。例如,编写以下代码会在上面的示例中引发 a:Settings
suffix_underscore
ValueError
_INSTALLED_APPS = [...]
- 如果不使用为实例 ( )
ConfigValue
设置的命名方案,则不允许命名 a 。例如,编写以下代码会在上面的示例中引发 a:Settings
suffix_underscore
ValueError
SECRET_KEY = settings.string_value('DJANGO_SECRET_KEY', required=True)
- 不允许定义 2 个导致相同可访问名称的变量名称。例如,编写以下代码会
ValueError
在上面的示例中引发 a:
_SECRET_KEY = settings.string_value('DJANGO_SECRET_KEY', required=True)
SECRET_KEY = 'SECRET_KEY'
如果您想自定义这些规则,您可以编写自己的__dir__
和__getattr__
.
首次运行时缓存值
如果您想一次缓存所有静态值,可以附加Settings.cache_static_values(...)
到设置文件的底部。对于上面的示例,这将获取DEBUG
,ALLOWED_HOSTS
和SECRET_KEY
:
settings.cache_static_values()
如果您不使用Settings.dir(...)
and Settings.getattr(...)
,您可能需要编写自己的函数而不是 using Settings.cache_static_values(...)
。
项目详情
关
django_enhanced_settings -0.2.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d94a48caa1a3850a3ef0639add12bcc4bc0371241454f8aec7416cb087ef5f8f |
|
MD5 | c1f858c2c6a4472e709f384618cc5f6c |
|
布莱克2-256 | 34217d90f44e0c66c2f79458ebb388ad90c0bd10ac9a703785dcaa7985bd5b25 |