一、django-constance配置(没用用redis,参考连接1,参考连接2(官方))
# settings.py
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 OrderedDict
CONSTANCE_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 receiver
from constance.signals import config_updated
from 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已变更")