django应用允许用户在管理屏幕中动态配置设置

django-sett的Python项目详细描述


django setty

django setty允许您在django管理控制台中动态更改设置。 该应用程序提供了一个数据库和一个缓存后端,用于存储和检索您的设置。

Build StatusCoverage Status

要求

  • 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()

类似项目

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

推荐PyPI第三方库


热门话题
尝试连接到Red5服务器时出现java问题   java实现Runnable的类被认为是ExecutorServices的“Runnable任务”?   java struts2类中的多个@validation   java未能应用插件[class'org.gradle.api.plugins.scala.ScalaBasePlugin']:gradle v2。13   如何使用Java流仅收集长度最大的元素?   从spring引导应用程序连接到firestore的java引发空指针异常   java从SQLite插入和获取真实数据类型会为连续插入获取空值吗?   当存在未知数量的空格时,使用java替代正向查找   部署如何为当今的浏览器部署java小程序(小程序、嵌入、对象)?   @OneToMany和@ManyToOne@Formula之间的java双向关系返回null   java为什么在我的例子中,协议缓冲区的性能比JSON差?   如何部署混合C++/Java(JNI)应用程序?   java如何在程序中显示字符串的完整信息。反恐精英?   java在Hibernate中从持久性上下文中分离实体中的实体