gpt4 book ai didi

django - 重用 django 代码自动重新加载功能来自定义管理命令

转载 作者:行者123 更新时间:2023-12-02 09:40:37 25 4
gpt4 key购买 nike

我喜欢 django 服务器在代码更改时自动重新加载的方式,因此不需要重新启动服务器。

我们目前使用 django 自定义管理命令,可能需要很长时间才能完成。

Is there any way we can use the auto-reloading feature of the django server for our management command?

例如,如果检测到底层 django 代码库发生更改,该命令会重新加载自身并恢复执行很长(无状态)的循环。

最佳答案

无论您的管理命令在做什么,请将其抽象为单个函数并使用django.utils.autoreload.main调用该函数

from django.utils import autoreload

def do_something(*args, **kwargs):
# management command logic


class Command(BaseCommand):

def handle(self, *args, **options):
self.stdout('This command auto reloads. No need to restart...')
autoreload.main(do_something, args=None, kwargs=None)

对于 django 2.2 或更高版本使用

        autoreload.run_with_reloader(do_something, args=None, kwargs=None)

关于django - 重用 django 代码自动重新加载功能来自定义管理命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6271719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com