簡體   English   中英

從settings.py中的模型加載數據

[英]Load data from model in settings.py Django

我有模特:

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")

現在,我想在settings.py中加載選定的模型:

CURRENT_TEMPLATE = Settings.objects.all().first()

但是以這種方式,我有錯誤:django.core.exceptions.AppRegistryNotReady:應用程序尚未加載。

是否可以從settings.py中的模型加載數據?

您是否將CURRENT_TEMPLATE放在setting.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM