Ответы:
Если вы хотите сделать что-то более сложное с вашим текстом, вы можете создать свой собственный фильтр и сделать немного магии, прежде чем возвращать HTML. С файлом templatag, похожим на это:
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter
def do_something(title, content):
something = '<h1>%s</h1><p>%s</p>' % (title, content)
return mark_safe(something)
Тогда вы можете добавить это в свой файл шаблона
<body>
...
{{ title|do_something:content }}
...
</body>
И это даст вам хороший результат.
Вы можете отобразить шаблон в вашем коде так:
from django.template import Context, Template
t = Template('This is your <span>{{ message }}</span>.')
c = Context({'message': 'Your message'})
html = t.render(c)
Смотрите Django документы для получения дополнительной информации.
Используйте, autoescape
чтобы отключить экранирование HTML:
{% autoescape off %}{{ message }}{% endautoescape %}
Самый простой способ - использовать safe
фильтр:
{{ message|safe }}
Проверьте документацию Django для безопасного фильтра для получения дополнительной информации.
Нет необходимости использовать фильтр или тег в шаблоне. Просто используйте format_html () для перевода переменной в html, и Django автоматически отключит экранирование для вашей переменной.
format_html("<h1>Hello</h1>")
Проверьте здесь https://docs.djangoproject.com/en/3.0/ref/utils/#django.utils.html.format_html
€
), доллар, пропущенный из поля зрения, это путь.