django启动时执行某个操作数据库的方法怎么实现

为了让django启动时就执行某些方法做了如下尝试

一、在Django中,可以通过AppConfig类的ready()方法来实现在Django启动时执行某个方法。

首先,在你的应用的apps.py文件中,创建一个继承自AppConfig类的子类,并重写ready()方法。例如,假设你的应用名为myapp,则可以创建一个MyAppConfig类:

1
2
3
4
5
6
7
8
from django.apps import AppConfig
 
class MyAppConfig(AppConfig):
    name = 'myapp'
 
    def ready(self):
        # 在这里编写你要执行的方法
        print('django 启动后执行!')

 然后,在你的应用的__init__.py文件中,设置default_app_config变量为MyAppConfig类的路径(例如myapp.apps.MyAppConfig):

1
default_app_config = 'myapp.apps.MyAppConfig'

 当Django启动时,ready()方法会被自动调用,从而执行你编写的方法。

输出语句确实可以在项目启动时执行,但执行了两次而且,把在要执行的方法里编写ORM层对数据库的操作会报错,说模块没加载完,所以该方法满足我们的需求。

 二、在urls.py文件里写方法

在urls.py文件里写ORM层对数据库的操作可以实现但是感觉 有点怪,这个文件本来是处理url相关的,这里写这么个方法有点不搭,但需求可以实现。

有没有大神知道这个需求比较理想的解决方法应该怎么操作。

posted @   万笑佛  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-05-14 kafka搭建二、集群搭建
点击右上角即可分享
微信分享提示