当前位置: 移动技术网 > IT编程>脚本编程>Python > Django应用启动时如何初始化添加数据?只需要简单的三步

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

2020年08月01日  | 移动技术网IT编程  | 我要评论
需求: 希望在运行项目前进行一些数据初始化,包括但不限于一些全局变量、数据库等。实现方法:很简单,只需要三步(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中:


(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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网