更多内容请点击 我的博客 查看,欢迎来访。
Django应用启动时,想要在数据库中添加一些初始配置,但有不想手动去添加,如何去做
-
settings.py
中配置应用
INSTALLED_APPS = [
'simpleui', # https://github.com/newpanjing/simpleui
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# .......
'simpleauth.apps.SimpleauthConfig', # 简单认证
# .......
]
- 应用下的
__init__.py
文件添加
default_app_config = 'simpleauth.apps.SimpleauthConfig'
- 修改应用下的
app.py
添加ready()
from django.apps import AppConfig
class SimpleauthConfig(AppConfig):
name = 'simpleauth'
verbose_name = '简单认证'
def ready(self):
"""
在子类中重写此方法,以便在Django启动时运行代码。
:return:
"""
# 启动时运行代码
from .models import SimpleConfigure
if not SimpleConfigure.objects.filter(code='can_send_email', describe='可发送邮件'):
print('初始化创建配置标记:可发送邮件,默认为True')
SimpleConfigure.objects.create(code='can_send_email', describe='可发送邮件', result=True)
结果:在项目启动时,就在SimpleConfigure
数据库中添加默认的数据
网友评论