我是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/