DDi*_*ran 2 python django wagtail
我对 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"
Run Code Online (Sandbox Code Playgroud)
为了获得正确的模板标签,我参考了 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" %}
Run Code Online (Sandbox Code Playgroud)