小编Dav*_*ora的帖子

Django - 仅在 AppConfig.ready() 中创建一个类实例一次

我需要在应用程序启动(runserver)上创建一个类实例(假设后端请求会话),并且我不想在运行其他管理命令后重写此会话。我怎样才能实现这个目标?我尝试了几种方法,但我不确定为什么这样的方法不起作用。

# app/apps.py
class MyConfig(AppConfig):
    ....
    requests_session = None
    ....
    def ready(self):
        if MyConfig.requests_session is None:
            MyConfig.requests_session = requests.Session()
Run Code Online (Sandbox Code Playgroud)

不幸的是,总是满足条件并重新创建会话。不过,文档中推荐使用这种方法。

对我来说,其他解决方案是仅在使用选定的管理命令子集后运行 MyConfig.ready(),这可能吗?

有没有完全不同的更好的方法来存储请求会话?

TIA

python django

5
推荐指数
1
解决办法
3115
查看次数

标签 统计

django ×1

python ×1