Как удалить теги пустых абзацев, сгенерированные в содержимом ckeditor

Я использую ckeditor 5 в своем веб-приложении django. Проблема в том, что если содержимое содержит какую-либо пустую строку, оно становится тегом p и занимает поле по умолчанию. Поскольку я использую tailwind css для получения стилей содержимого по умолчанию, я использую @tailwindcss/typography. Я добавил класс prose в контейнер содержимого.

Я попытался переопределить классы css. например,

.prose p:empty{
   margin: 0;
}

Но это не сработало. Поэтому я создал пользовательский фильтр django для удаления содержимого.


from django import template
from django.utils.safestring import mark_safe
import re

register = template.Library()

@register.filter
def remove_empty_paragraphs(value):
    # Remove empty <p> tags
    cleaned_value = re.sub(r'<p[^>]*>\s*</p>', '&nbsp;', value)
    return mark_safe(cleaned_value)

Я пробовал использовать как пустую строку '', так и &nbsp;, потому что в консоли разработчика внутри тега p отображается &nbsp;. По-прежнему ничего не получалось.

Вернуться на верх