Django странно интерпретирует безопасный фильтр
У нас есть шаблон django, но у меня есть странная проблема с данными, которые являются rich-text.
Пример:
шаблон: <p class="correctClass">{{team.description|safe}}</p>
исходный код для team.description
в нашей CMS: <p>Correct text</p>
результат:
<p class="correctClass"></p>
<p>Correct text</p>
<p></p>
без безопасного фильтра это выглядит так:
<p class="correctClass">
<p>Correct text</p> (this line is text, not parsed as html)
</p>
Конечно, желаемый результат:
<p class="correctClass">Correct text</p>
если вы хотите добиться этого, вы можете использовать striptags
.
<p class="correctClass">{{team.description|striptags}}</p>
" Обратите внимание, что striptags не дает никаких гарантий того, что его вывод будет безопасным для HTML, особенно при использовании не валидного HTML. Поэтому НИКОГДА не применяйте безопасный фильтр к выводам striptags. Если вы ищете что-то более надежное, вы можете использовать библиотеку bleach Python, в частности, ее метод clean.". Из официальной документации
.
за дополнительной информацией обращайтесь к https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#striptags