有没有办法将自定义唯一标识符添加到鹡鸰块
Is there any way to add a custom unique identifier to a wagtail block
我想创建一个项目流场,每个项目都有一个自定义 ID。我创建了一个 'ItemBlock' 并添加了一个使用 uuid4 填充的 'unique_identifier' 属性。问题是每个项目都具有相同的 uuid。有没有办法为每个 ItemBlock 生成不同的 uuid?
class ItemBlock(blocks.StructBlock):
unique_identifier = blocks.CharBlock(default=uuid.uuid4())
item_name = blocks.CharBlock()
body = blocks.RichTextBlock()
class CategoryBlock(blocks.StructBlock):
title = blocks.CharBlock()
class ListPage(Page):
subtitle = models.CharField(max_length=50)
checklist = StreamField([('category', CategoryBlock()), ('checklist_item', ItemBlock())])
content_panels = Page.content_panels + [
FieldPanel('subtitle'),
StreamFieldPanel('checklist'),
]
Wagtail 块已经有 UUID:
https://github.com/wagtail/wagtail/blob/master/wagtail/core/blocks/stream_block.py#L452
您可以使用 your_block.id
在模板中访问它们。
这对你有帮助吗?
我想创建一个项目流场,每个项目都有一个自定义 ID。我创建了一个 'ItemBlock' 并添加了一个使用 uuid4 填充的 'unique_identifier' 属性。问题是每个项目都具有相同的 uuid。有没有办法为每个 ItemBlock 生成不同的 uuid?
class ItemBlock(blocks.StructBlock):
unique_identifier = blocks.CharBlock(default=uuid.uuid4())
item_name = blocks.CharBlock()
body = blocks.RichTextBlock()
class CategoryBlock(blocks.StructBlock):
title = blocks.CharBlock()
class ListPage(Page):
subtitle = models.CharField(max_length=50)
checklist = StreamField([('category', CategoryBlock()), ('checklist_item', ItemBlock())])
content_panels = Page.content_panels + [
FieldPanel('subtitle'),
StreamFieldPanel('checklist'),
]
Wagtail 块已经有 UUID:
https://github.com/wagtail/wagtail/blob/master/wagtail/core/blocks/stream_block.py#L452
您可以使用 your_block.id
在模板中访问它们。
这对你有帮助吗?