Wagtail добавляет RawHTMLBlock к полю в модели

Я пытаюсь добавить тип поля как RawHTMLBlock в мою модель

Я сделал

from wagtail.images.blocks import ImageChooserBlock
from wagtail.core import blocks
from wagtail.core.fields import RichTextField, StreamField
from wagtail.admin.edit_handlers import FieldPanel, InlinePanel, MultiFieldPanel, StreamFieldPanel, FieldRowPanel, PageChooserPanel
from modelcluster.fields import ParentalKey
from wagtail.images.models import Image
from wagtail.images.edit_handlers import ImageChooserPanel
from wagtail.images.widgets import AdminImageChooser

@register_snippet
class DefaultHeader(models.Model):
    
    title_html = models.CharField(max_length=100, null=True, blank=True)
    text_message = RichTextField(null=True, blank=True)
    code_text = blocks.RawHTMLBlock(null=True, blank=True)

    background = models.ForeignKey('wagtailimages.Image',
                                       related_name='+',
                                       null=True,
                                       blank=True,
                                       verbose_name=_("Background"),
                                       on_delete=models.SET_NULL)

    panels = [
        FieldPanel("title_html"),
        FieldPanel("text_message"),
        FieldPanel("code_text"),
        ImageChooserPanel("background", classname="col12"),
    ]

Все поля были добавлены после makemigrations, кроме code_text, которое не было добавлено. на моей странице администратора есть title_html; text_message; background. но нет code_text

Блоки не действительны вне StreamField. Чтобы добиться того же, что и RawHTMLBlock в поле модели, определите его как TextField:

code_text = models.TextField(blank=True)

Затем, при выводе его в шаблоне, используйте фильтр |safe Django для отключения экранирования HTML, которое применяется стандартно:

{{ header.code_text|safe }}
Вернуться на верх