将标签放入结构块中

问题描述 投票:0回答:1

我希望能够将标签添加到我创建的自定义StructBlock中。

当前模型如下:>

class MapsIndicatorBlock(blocks.StructBlock):

    text_icon = blocks.CharBlock(
        label='Maps/Indicators Text or Icon',
        required=False
    )

    pop_up_title = blocks.CharBlock(
        label='Pop-Up Title',
        required=False
    )

    pop_up_text = blocks.RichTextBlock(
        label ='Pop-Up Text/Image',
        required=False
    )

    pop_up_colour = blocks.CharBlock(
        choices=constants.BOOTSTRAP4_BUTTON_COLOUR_CHOICES,
        default='btn btn-primary',
        max_length=128,
        required=False
    )

    tags = TaggableManager()

    objects = models.Manager()

    class Meta:
        template = 'cityregiontable/map_indicator_block.html'

TaggableManager()设计为可用于model.model而不是blocks.StructBlock。

我试图创建一种使用以下方法创建标签的方法,但毫无用处。我收到错误RE:无法找到MapsIndicatorBlock的模型。这是正确的,因为MapsIndicatorBlock是块而不是模型。

class MITag(TaggedItemBase):
    content_object = models.ForeignKey(
        'MapsIndicatorBlock',
        on_delete=models.CASCADE,
        related_name='tagged_mi_block'
    )

如何允许一个块具有metadat标签?

我希望能够将标签添加到我创建的自定义StructBlock中。当前模型类似于此类MapsIndicatorBlock(blocks.StructBlock):text_icon = blocks.CharBlock(...

django django-models tags wagtail
1个回答
1
投票

基于custom block types的文档为起点,我们能够生成一个利用现有Wagtail FieldBlock的自定义AdminTagWidget

© www.soinside.com 2019 - 2024. All rights reserved.