我一直在学习Mezzanine,目前正在尝试主题。到目前为止,这就是我所拥有的:
-projectA <- mezzanine app
-theemeA/ <- custom theme
-admin.py
-models.py
-__init__.py
-templates/
-pages/
-about-us.html
-aboutus.html
-index.html
-base.html
-about-us.html
TheemeA包含在项目中,我可以看到自定义索引和base.html。现在,我想创建一系列具有共同外观的页面,这些页面将出现在网站的“关于我们”部分中。我想要这个新的内容类型来扩展base.html。
我在TheemeA创建了models.py;从here拉出并略微改变以进行测试。我知道我需要重做其中一些。
from django.db import models
from django.utils.translation import ugettext_lazy as _
from mezzanine.pages.models import Page, RichText
class AboutUs(Page, RichText):
"""
About Us Base Content Type
"""
add_toc = models.BooleanField(_("aboutus"), default=False,
help_text=_("Include a list of child links"))
class Meta:
verbose_name = _("About Us")
verbose_name_plural = _("About Us")
我还在theemeA的admin.py中添加了这个新模型,它在UI中显示为带有文本编辑字段的内容类型。现在我想创建一个扩展模型的自定义模板,以便我可以自定义外观。但是,我无法通过夹层来提取模板。我一直在关注this而且没有帮助。
我在该文件夹和名为pages的文件夹中尝试了about-us.html和aboutus.html的多种变体,但无法使其工作。有人可以提供一些指导吗?
答案 0 :(得分:1)
你的模特看起来很好 admin.py应该类似于:
from .models import AboutUs,
from mezzanine.pages.admin import PageAdmin
admin.site.register(AboutUs, PageAdmin)
在管理界面中创建页面实例。 通常标题中的空格变为 - 例如&#39;关于我们&#39;变成了关于-us.html。 它需要在页面目录中。