[英]Load data from model in settings.py Django
I have model: 我有模特:
class Settings(models.Model):
class Meta:
verbose_name = "Ustawienia strony"
verbose_name_plural = "Ustawienia strony"
title = models.CharField(_('Tytuł strony'), max_length = 120, blank = True)
description = models.TextField(_('Opis strony'), blank = True)
facebook_title = models.CharField(_('Tytuł strony Open Graph'), max_length = 120, blank = True,)
facebook_type = models.CharField(_('Typ strony Open Graph'), max_length = 120, blank = True,)
facebook_url = models.CharField(_('Link strony Open Graph'), max_length = 500, blank = True,)
facebook_description = models.TextField(_('Opis strony Open Graph'), blank = True, )
template = models.CharField(_("Wygląd sklepu"), choices = TEMPLATES_LIST, max_length = 100, default="DEFAULT")
Now I would like load selected model in settings.py: 现在,我想在settings.py中加载选定的模型:
CURRENT_TEMPLATE = Settings.objects.all().first()
But in this way I have error: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. 但是以这种方式,我有错误:django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。
Is it available to load data from model in settings.py? 是否可以从settings.py中的模型加载数据?
Did you put CURRENT_TEMPLATE in setting.py? 您是否将CURRENT_TEMPLATE放在setting.py中? Apps must be loaded before importing models.
在导入模型之前,必须先加载应用。 Here is the solution, use a Constants class for storing your CURRENT_TEMPLATE, in your apps.py:
这是解决方案,请使用Constants类在您的apps.py中存储CURRENT_TEMPLATE:
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'yourapp'
def ready(self):
# import Setting
# Constants.CURRENT_TEMPLATE = Setting.objects.all().first()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.