【问题标题】:Wrong related page in Wagtail CMSWagtail CMS 中的相关页面错误
【发布时间】:2016-03-10 19:52:06
【问题描述】:

我在使用 Wagtail CMS 1.3.1 构建博客时遇到了奇怪的行为。

有一个案例:

我有一个页面 A 应该与页面 B 和 C 有关系

  B
 /
A
 \
  C

这就是我的页面模型的样子

# Post related page item    
class PostRelatedPage(models.Model):
    link_page = models.ForeignKey(
        'wagtailcore.Page',
        null=True,
        blank=True,
        related_name='+'
    )

    panels = [
        PageChooserPanel('link_page')
    ]

    class Meta:
        abstract = True


class PostRelatedPageItem(Orderable, PostRelatedPage):
    page = ParentalKey('core.PostPage', related_name='related_posts')


# Post page model
class PostPage(Page):
    ...

PostPage.content_panels = [
    ...
    InlinePanel('related_posts', label="Related posts"),
]

好的,看起来是正确的。 但是当我链接到我的页面 A 相关页面 B 和 C 时,我的页面与自身相关

  A
 /
A
 \
  A

怎么了?

【问题讨论】:

  • 您看到的确切错误行为是什么? (比如是不是页面模板显示错了?如果是,请贴出你的模板代码。)
  • 是的,它显示了错误的东西。我的模板代码如下所示:code{% for related in self.related_posts.all %}{{ related.page }}{% endfor %}。我认为我的模板中的问题。可能我不应该访问页面而是链接页面?

标签: python django django-models content-management-system wagtail


【解决方案1】:

问题在于您用于输出链接的代码:

{% for related in self.related_posts.all %}{{ related.page }}{% endfor %}

这里的related 是一个PostRelatedPageItem 对象,related.page 指向它所附加的页面。你应该改用related.link_page。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多