首页 > 解决方案 > Wagtail RichTextField 未在 Django ModelForm 中显示

问题描述

我的问题是 RichTextField 是表单中唯一未显示的字段。

我有一个模型:

class RealestateObject(models.Model):

    title = models.CharField(
        max_length=256,
        verbose_name=_('Object Title'),
    )

    summary = RichTextField(
        verbose_name=_('Summary'),
        blank=True, null=True,
    )

    description = models.TextField(
        verbose_name=_('Description'),
        blank=True, null=True,
)

和一个表格:

class RealestateObjectForm(forms.ModelForm):

class Meta:
    model = TestRealestateObject
    fields = ('title',
              'summary',
              'description'
              )

和我的模板:

<form method="POST" action="">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Insert</button>
</form>

标题和描述字段显示在表单中,摘要不显示。是否有解决方案和/或解决方法?我不能使用 Wagtail Form Builder。如果我可以使用富文本编辑器,那就太好了。

谢谢。

标签: djangowagtail

解决方案


RichTextField依赖于通过 Django表单媒体定义的一些额外的 Javascript 和 CSS 。您需要将以下内容添加到您的模板中(最好在 HTML<head>部分中):

{{ form.media.js }}
{{ form.media.css }}

请记住,RichTextField它主要是为在 Wagtail 管理界面中使用而设计的,它的一些功能(尤其是弹出链接/图像选择器)很可能依赖于那里的其他 JS/CSS - 通过参数禁用这些功能features一种选择处理那个。


推荐阅读