【发布时间】:2015-12-10 13:53:51
【问题描述】:
在mezzanine configuration docs,它说
注意如果您使用的是 Django 1.7 或更高版本,并且您的应用程序作为 AppConfig 包含在您的 INSTALLED_APPS 中(例如 authors.apps.MyCrazyConfig),Mezzanine 不会自动导入您的 defaults.py。相反,您必须在 AppConfig 的 ready() 方法中手动导入它。
在该页面或 django AppConfig.ready() 页面上没有显示如何执行此操作的示例。
我创建了一个主题/app.py:
from django.apps import AppConfig
from .defaults import *
class ThemeConfig(AppConfig):
name = 'theme'
verbose_name = "Theme"
def ready(self):
default
the theme/defaulty.py is thus:
from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from mezzanine.conf import register_setting
register_setting(
name="TEMPLATE_ACCESSIBLE_SETTINGS",
append=True,
default=("SOCIAL_LINK_FACEBOOK",
"SOCIAL_LINK_TWITTER",
"SOCIAL_LINK_INSTAGRAM",
"SOCIAL_GOOGLE-PLUS",
),
register_setting(
name="SOCIAL_LINK_FACEBOOK",
label=_("Facebook link"),
description=_("If present a Facebook icon linking here will be in the "
"header."),
editable=True,
default="https://facebook.com/mezzatheme",
),
register_setting(
name="SOCIAL_LINK_TWITTER",
label=_("Facebook link"),
description=_("If present a Facebook icon linking here will be in the "
"header."),
editable=True,
default="https://twitter.com/",
),
请问如何手动将 default.py 导入 appconfig.ready() 方法?
【问题讨论】: