欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Django应用启动时如何初始化添加数据?只需要简单的三步

程序员文章站 2022-12-04 21:01:36
需求: 希望在运行项目前进行一些数据初始化,包括但不限于一些全局变量、数据库等。实现方法:很简单,只需要三步(1)确保app被注册到settings文件中的install_apps中:(2)在该app的__init__文件中设定default_app_config:default_app_config = 'apps.home.apps.HomeConfig'(3)在该app的apps文件中,继承AppConfig类;重写name属性,重写ready方法;其中na......

需求: 希望在运行项目前进行一些数据初始化,包括但不限于一些全局变量、数据库等。

实现方法:很简单,只需要三步

(1)确保app被注册到settings文件中的install_apps中:

Django应用启动时如何初始化添加数据?只需要简单的三步


(2)在该app的__init__文件中设定default_app_config:

default_app_config = 'apps.home.apps.HomeConfig'


(3)在该app的apps文件中,继承AppConfig类;重写name属性,重写ready方法;其中name属性必须与注册的app名一致;ready方法中写入你的初始化行为逻辑代码即可。

from django.apps import AppConfig

class HomeConfig(AppConfig):
    name = "apps.Home"

    def ready(self):
        
        pass


(4) 执行python manage.py runserver 即可看到ready方法被调用;


注意的点:有些同学可能会发现ready方法被调用了两次,这是因为你使用了python manage.py runserver该运行方式启动项目,这种方式会启动两个进程,其中一个进程用于监听用户修改代码后重新启动,但在真实环境中使用uwsgi启动项目则只会调用一次ready方法。如果你不愿意启动两个进程,也可以使用 python manage.py runserver --noreload 启动项目 --noreload关闭监听代码修改重启程序的意思。

本文地址:https://blog.csdn.net/weixin_40647516/article/details/108235626

相关标签: Django Python