Draftail开始插件不工作在新的Wagtail 4.1.1项目



在执行设置"Mark"根据https://docs.wagtail.org/en/stable/extending/extending_draftail.html上的说明,我发现它不适用于Wagtail 4.1.1。这是我能找到的最简单的入门例子。我遵循的步骤是在新的应用程序文件夹中创建wagtail_hooks.py文件,没有按钮出现在富文本编辑器中,也没有出现在旁边?

models.py

from django.db import models
from wagtail.models import Page
from wagtail.fields import RichTextField
from wagtail.admin.panels import FieldPanel

class HomePage(Page):
body = RichTextField(null=True, blank=True)
content_panels = Page.content_panels + [
FieldPanel('body'),
]

和直接从文档中获取的wagtail_hooks.py。你知道为什么不行吗?

您需要将mark添加到RichTextBlock的功能列表中。目前,没有任何feature声明,它只是加载默认功能。

比如

body = RichTextField(null=True, blank=True, features= ['bold', 'italic', 'link', 'mark'])

或任何你想使用的功能。

我建议将WAGTAILADMIN_RICH_TEXT_EDITORS设置添加到base.py中,这样您就不需要每次都声明完整的列表。例如:

WAGTAILADMIN_RICH_TEXT_EDITORS = {
'default': {
'WIDGET': 'wagtail.admin.rich_text.DraftailRichTextArea',
'OPTIONS': {
'features': ['h2', 'h3', 'h4', 'bold', 'italic', 'link', 'ol', 'ul', 'hr']
}
},
'full': {
'WIDGET': 'wagtail.admin.rich_text.DraftailRichTextArea',
'OPTIONS': {
'features': ['h2', 'h3', 'h4', 'h5', 'h6', 'bold', 'italic', 'ol', 'ul',
'link', 'hr', 'code', 'document-link', 'blockquote']
}
},
'minimal': {
'WIDGET': 'wagtail.admin.rich_text.DraftailRichTextArea',
'OPTIONS': {
'features': ['bold', 'italic', 'link']
}
},
}

然后你可以调用RichTextBlock(editor='minimal')获取最小特性集等等。

我发现草稿文档真的很难完成。它跳过了许多重要的信息,并略读了其他信息,给出了代码示例而没有任何解释。

也许这些文章有助于解释更多一些

最新更新