0

我正在学习 Wagtail 和 Django。我遇到了以下代码的问题。

主要目标是为轮播项目和轮播本身提供单独的块模板。当我在 Wagtail 中使用添加的轮播项目启动此代码时,我看到carousel_main.htmlWagtail 解析了块模板,但块模板carousel_item.html没有。很可能我做错了什么,但我似乎无法弄清楚。

    class CarouselBlock(blocks.StructBlock):
        image = ImageChooserBlock()
        text = blocks.RichTextBlock(blank=True)

        class Meta:
            template = 'carousel_item.html'

    class Carousel(blocks.StructBlock):
        carousel = blocks.ListBlock(CarouselBlock(),blank = True)

        class Meta:
            template = 'carousel_main.html'

    class HomePage(Page):
        carousel_field = StreamField(
            [
                ('carousel',Carousel()),

            ],blank = True
        )

        content_panels = Page.content_panels + [
            StreamFieldPanel('carousel_field')
        ]
4

1 回答 1

1

首先,您是否已经创建carousel_main.htmlcarousel_item.html位于templates目录的顶部?home/templates(如果您愿意,可以将它放在您的顶部下方。)

如果您在使用时仍然看到欢迎页面,则必须按照Wagtail 教程manage.py runserver中的说明更改home_page.html模板的内容。

其次,你已经在and中使用过include_block模板标签了吗?Wagtail 文档中有关于如何使用它的分步说明。home_page.htmlcarousel_main.html

除此之外,你有一个很好的开始。

于 2019-11-14T15:35:46.407 回答