我需要使用我的一个模型来定义Django设置变量。这意味着,django变量将由数据库中的内容定义。
当我使用一个使用我的模型之一的函数时:
from util.auth_utils import get_app_auth
auth = get_app_auth()
它抛出一个错误:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
如果我尝试在www.example.com中使用此代码settings.py:
import django
django.setup()
也抛出一个错误:
RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
除此之外,我尝试将django.setup()部分移动到INSTALLED_APPS之后,但它无法正确加载设置。
有线索吗?
2条答案
按热度按时间pgvzfuti1#
我们不能在www.example.com末尾的DATABASE设置之后导入一个模型吗settings.py比如DATABASE = {
} ...其他设置... from .models import
nlejzf6q2#
可能有更好的方法,但你可以做的是懒惰的评估,这样当设置被导入时定义的是能够访问数据库对象的代码,并且只有当应用程序实际引用该设置时才能检索该对象。假设这是在Django完成了数据库和模型的设置之后,一切都会很好。
这是我刚编的一个例子
settings.py:
我的开发服务器没有崩溃。使用
./manage.py shell_plus
,我将把从对象中提取所需的字段并将它们复制到PLAY_FOO的其他属性中作为练习。