gpt4 book ai didi

python - Django 在启动时加载资源

转载 作者:IT王子 更新时间:2023-10-29 06:02:23 25 4
gpt4 key购买 nike

如何在 Django 启动时从 mysql 数据库加载资源并将其放入内存 (Redis) 以供所有应用程序使用。

我看过这个[ https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready]

class MyAppConfig(AppConfig):
def ready(self):

但是他们提到不要在 ready 函数中使用数据库连接。我的网站启动时怎么办?

我还可以在 ready 中设置缓存值吗?

from django.core.cache import cache
cache.set()

最佳答案

由于您只是加载到 redis 而不是创建保存在内存中并由您网站中的所有应用程序共享的模型实例,也许最好的方法是使用 custom management command .

第二种解决方案是创建一个 Django CLI,如 e4c5 所发布的那样关于前文件:

Supposing you have setup a django project, and the settings file is in an app named main, this is how you initialize your code

import os, sys

# Setup environ
sys.path.append(os.getcwd())
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings")

# Setup django
import django
django.setup()

# rest of your imports go here

from main.models import MyModel

# normal python code that makes use of Django models go here

for obj in MyModel.objects.all():
print obj

The above can be executed as

python main/cli.py

既然你用的是redis,那你真的需要把东西也存到memcache里吗?但是,如果您也需要这样做,也可以通过 CLI 完成

关于python - Django 在启动时加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39523075/

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