据我所知,如果 settings.py
中设置的任何数据库在应用程序启动时关闭,Django 应用程序将无法启动。无论如何让Django“延迟加载”初始数据库连接?
我配置了两个数据库,其中一个有点不稳定,有时会宕机几秒钟,但它仅用于应用程序的某些特定用例。正如您想象的那样,我不希望所有应用程序因此而无法启动。有什么解决办法吗?
我正在使用 Django 1.6.11,我们还使用 Django South 进行数据库迁移(以防它以某种方式相关)。
最佳答案
我不知道它有多安全,但您可以执行以下操作:
在您的
settings.py
中,以空的DATABASES
开头:DATABASES = {}
在您的
apps.py
中,利用ready()
Hook 建立您的数据库连接:from settings.py import DATABASES class YourAppConfig(AppConfig): def ready(self): DATABASES.update({ Your database connections })
现在我不能为那个把我的手放在火上,但是 Django will try to reinitialize the database connection需要时。
关于python - Django:如何在启动时禁用数据库状态检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45240311/