小编Koo*_*oop的帖子

如何避免在Django中运行两次的AppConfig.ready()方法

我想在Django服务器启动时执行一些代码,但我希望它只运行一次.目前,当我启动服务器时,它执行了两次.文档说这可能发生,并且:

您应该在AppConfig类上放置一个标志,以防止重新运行应该执行一次的代码.

知道怎么做到这一点?下面的打印声明仍然执行两次.

from django.apps import AppConfig
import app.mqtt
from apscheduler.schedulers.background import BackgroundScheduler

class MyAppConfig(AppConfig):
    name = 'app'
    verbose_name = "HomeIoT"
    run_already = False

    def ready(self):
        if MyAppConfig.run_already: return
        MyAppConfig.run_already = True
        print("Hello")
Run Code Online (Sandbox Code Playgroud)

python django

34
推荐指数
4
解决办法
5550
查看次数

标签 统计

django ×1

python ×1