我正在建立一个网站,在该网站上应该有指向首页上特定页面的链接。我正在使用PageChooserPanel执行此操作,但无法显示某些页面。 这是我的代码:
models.py
class HomePage(Page):
FeaturedPageTitle = models.CharField(
null=True,
blank=True,
max_length=255,
)
FeaturedPage = models.ForeignKey(
'wagtailcore.Page',
null=True,
blank=True,
on_delete=models.SET_NULL,
)
content_panels = Page.content_panels + [
MultiFieldPanel([
MultiFieldPanel([
FieldPanel('FeaturedPageTitle'),
PageChooserPanel('FeaturedPage'),
]),
],
]
def pages(self):
pages = StandardPage.objects.all()
return pages
class StandardPage(Page)
home_page.html
{% if page.featured_page %}
{{ page.featured_page_title }}
{% for page in page.pages %}
{% image page.image %}
{{page.title}}
{% endfor %}
{% endif %}
答案 0 :(得分:0)
您已经调用了特色页面字段FeaturedPageTitle
/ FeaturedPage
,但是在模板上使用了featured_page_title
/ featured_page
。
在Python中,变量名中的大写字母/标点符号很重要-通常的惯例是仅对类名使用大写(CamelCase
),对其他变量使用underscore_case
。