我创建了一个自定义 photoBlock 来将照片嵌入博客文章中。我正在尝试创建一个模板标签,它允许我获取存储在数据库中的每个 photoBlock,就像您在 Wagtail 中查询页面一样。我宁愿不必为每张照片创建单独的页面,而是可以通过模板标签将它们显示在不同的页面上。
class photoBlock(blocks.StructBlock):
date = blocks.DateBlock("Date Image Was Taken")
location = blocks.CharBlock(max_length=100)
image = ImageChooserBlock()
latitude = blocks.DecimalBlock(max_digits=9, decimal_places=6)
longitude = blocks.DecimalBlock(max_digits=9, decimal_places=6)
description = blocks.RichTextBlock()
我能够让以下工作,但感觉查询非常繁重,一旦我有一堆帖子就会陷入困境。
for page in BlogPage.objects.all():
for block in page.body.stream_data:
if block['type'] == 'photoBlock':
return block
有没有更好的方法从 Streamfield 查询特定块?每当我尝试这样的事情时
photoBlock.objects.all()
我总是收到一个错误响应,即 photoBlock 没有属性 Object。有任何想法吗?