我对通过Draftail提供不同口味的商品列表感兴趣。遵循我尝试过的文档:
@hooks.register('register_rich_text_features')
def register_lead_feature(features):
feature_name = 'list-arrow-right'
type_name = 'arrow-unordered-list-item'
features.register_editor_plugin('draftail', feature_name, draftail_features.BlockFeature({
'type': type_name,
'icon': 'list-ul',
'label': '>',
'element': 'li',
})
)
features.register_converter_rule('contentstate', feature_name, {
'from_database_format': {
'ul[class="{}"]'.format(type_name): ListElementHandler(type_name),
'li': ListItemElementHandler(),
},
'to_database_format': {
'block_map': {type_name: {'element': 'li', 'wrapper': 'ul', 'wrapper_props': {'class': feature_name}}}
}
})
features.default_features.append(feature_name)
这可以将代码正确存储在数据库中并在模板中呈现。
不幸的是,我没有找到如何在编辑期间正确渲染它:可以指定渲染element
,但不指定包装器。至少,我想将其呈现为任何无序列表。
有什么主意吗?