夹层中自定义类型的模板

时间:2015-09-29 17:52:04

标签: python django mezzanine

我一直在学习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的多种变体,但无法使其工作。有人可以提供一些指导吗?

1 个答案:

答案 0 :(得分:1)

你的模特看起来很好 admin.py应该类似于:

from .models import AboutUs,
from mezzanine.pages.admin import PageAdmin
admin.site.register(AboutUs, PageAdmin) 

在管理界面中创建页面实例。 通常标题中的空格变为 - 例如&#39;关于我们&#39;变成了关于-us.html。 它需要在页面目录中。