# 使用django-constance动态修改配置
1 min read
Table of Contents
一、django-constance配置(没用用redis,参考连接1,参考连接2(官方))
INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'constance', 'constance.backends.database', 'django_bootstrap5', 'django_apscheduler', 'SomeScheduler', 'changeIP', 'checkIn',]# django-constance配置CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
from collections import OrderedDictCONSTANCE_CONFIG = OrderedDict([ ('SITE_NAME', ('My Title', 'Website title')), ('SITE_DESCRIPTION', ('', 'Website description')), ('THEME', ('light-blue', 'Website theme')),])
from SomeScheduler import signals # 试了下貌似把signals的内容直接写在settings下好像不生效。。二、signals.py设置(signal详细使用方法可以查询:参考连接1,参考连接2(刘江))
from django.dispatch import receiverfrom constance.signals import config_updatedfrom constance import config
@receiver(config_updated)def constance_updated(sender, key, old_value, new_value, **kwargs):
print(sender, key, old_value, new_value) if key == 'SITE_NAME': # 写你想要的内容 print("XX已变更")💬 回复: Jun (2022-07-24)
如果用在了debug上,记得把setting.py里的debug注销掉,这样默认django保存或重启时,debug是关闭的。