django应用允许用户在管理屏幕中动态配置设置
django-sett的Python项目详细描述
django setty
django setty允许您在django管理控制台中动态更改设置。 该应用程序提供了一个数据库和一个缓存后端,用于存储和检索您的设置。
要求
- Python3.6+
- Django 1.11+
持续集成目前测试django v1.11、v2.0、v2.1和master。
安装
pip install setty
django配置
将setty
添加到django设置中已安装的应用程序列表:
INSTALLED_APPS = [
...
'setty'
]
通过运行创建setty数据库表
python manage.py migrate
使用SETTY_BACKEND
设置指定要使用的后端。
有效的后端值是'DatabaseBackend'
和'CacheBackend'
。
'DatabaseBackend'
检索设置时始终访问数据库。
'CacheBackend'
仅当项不在缓存中时才访问数据库,并在检索到该值后缓存该值。
定义应缓存的时间长度设置,以便使用setty_cache_ttl设置。默认缓存ttl为 一小时。
SETTY_BACKEND='CacheBackend'SETTY_CACHE_TTL=60# 60 seconds
用法示例
打开位于<;url>;admin的django管理控制台并打开Setty Settings
。
在这里,您将看到setty中定义的所有设置的列表。
要添加新设置,请单击add
按钮。
输入设置名称、类型(字符串、整数、浮点、布尔、列表、字典)
以及价值。注意,list和dict数据类型期望数据采用json格式,例如。
{"a": 1, "b": 2}
和[1, 2, 3]
。
创建设置后,您将能够在代码中访问这些设置。
fromsettyimportconfigassertconfig.my_integer==10
如果数据库中不存在设置,则将使用在设置^ {CD11>}中定义的值。
如果未设置,则返回None
。
setty可以在django模板中使用,方法是将“setty.context\u processors.setty\u settings”添加到
TEMPLATE_CONTEXT_PROCESSORS
设置并通过setty
键访问它。
还可以使用以下语法更新设置值:
fromsettyimportconfigconfig.my_integer=100<>注意:只有数据库中已经存在的设置可以被更新。无法通过这种方式添加新设置。
将所有设置加载到缓存中
如果使用CacheBackend
后端,可以轻松地将所有设置加载到缓存中。如果你想的话这很有用
启动应用程序时缓存所有设置。
fromsetty.backendimportCacheBackendCacheBackend().load_all_settings_into_cache()
类似项目
- 这个项目的灵感来自Django Constance https://github.com/jazzband/django-constance