我是Django的新手,并且是Wagtail的完整入门者。

我正在建立的网站上只有一个轮播,它在首页上。我在models.py中创建了以下两个模型:

class CarouselItem(Orderable):
    image = models.ForeignKey(
        'wagtailimages.Image',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+'
    )
    caption = models.CharField(max_length=255, blank=True)
    page = ParentalKey('HomePage', related_name='carousel_items')

    panels = [
    ImageChooserPanel('image'),
    FieldPanel('caption'),
    ]

class HomePage(Page):
    nila_intro = RichTextField(blank=True)

    content_panels = Page.content_panels + [
            InlinePanel('carousel_items', label="Carousel Items"),
            FieldPanel('nila_intro', classname="full"),
        ]

    class Meta:
        verbose_name = "Homepage"


为了正确使用模板标签,我参考了Github上的Wagtail演示站点,尝试复制已经完成的操作。

基本操作(例如{% if page.carousel_items %}{% for carousel_item in page.carousel_items.all %}{{ carousel_item.caption }})可以正常工作。同样在管理员中,一切都完全符合我的预期。

但是,在显示图像和/或图像src网址时遇到了问题。我尝试将以下内容都添加到src中,但没有任何反应:{{carousel_item.image.url}},然后尝试完全删除<img>标记并执行{% image carousel_item.image alt="Slide Image" %},这给了我一个错误。所以我不太确定该怎么做!

我已包含{% load wagtailcore_tags wagtailimages_tags %}

也许我还不是100%了解ModelClusters的工作方式?如我所见,你们在演示中对轮播的管理方式有所不同。

最佳答案

http://docs.wagtail.io/en/v1.10/topics/images.html所述,您需要在max-800x600标记上指定一个调整大小的规则,例如{% image %},以指定在插入模板时应如何调整图像大小。如果您根本不想调整图像的大小,请使用original

{% image carousel_item.image original alt="Slide Image" %}

关于python - Wa中的轮播图片出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43898676/

10-11 22:36
查看更多