Wagtail Fields /每页数据?

时间:2017-12-14 17:06:47

标签: wagtail

在wagtail中,是否有一种向每个页面模型添加相同字段的好方法?我正在考虑搜索引擎优化数据字段和搜索元信息等几乎每个页面都要实现的内容。我似乎无法使用Wagtail找到一个好方法。

1 个答案:

答案 0 :(得分:3)

你可以使用抽象类(然后继承这个基类而不是Wagtail的Page)或者mixin(然后你继承了mixin和Wagtail的Page)。

# Example with Abstract class
class BasePage(wagtail.wagtailcore.models.Page):
    seo_image = models.ForeignKey(...)

    class Meta:
        abstract = True


class MyPage(BasePage):
    pass


# Example with mixins
class SEOMixin(django.db.models.Model):
    seo_image = models.ForeignKey(...)

    class Meta:
        abstract = True

class MyPage(SEOMixin, wagtail.wagtailcore.models.Page):
    pass

使用抽象类可能是最简单的,但您的所有页面将始终继承基类上定义的所有字段。 另一方面,使用mixins更灵活,因为你可以有多个mixin(SEOMixin,ThumbnailMixin等),并根据你的需要将它们组合起来。