Respostas:
Se você quiser fazer algo mais complicado com o seu texto, crie seu próprio filtro e faça alguma mágica antes de retornar o html. Com um arquivo templatag parecido com este:
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)
Então você pode adicionar isso no seu arquivo de modelo
<body>
...
{{ title|do_something:content }}
...
</body>
E isso lhe daria um bom resultado.
Você pode renderizar um modelo no seu código da seguinte forma:
from django.template import Context, Template
t = Template('This is your <span>{{ message }}</span>.')
c = Context({'message': 'Your message'})
html = t.render(c)
Veja os documentos do Django para mais informações.
Use autoescape
para desativar o escape de HTML:
{% autoescape off %}{{ message }}{% endautoescape %}
A maneira mais simples é usar o safe
filtro:
{{ message|safe }}
Confira a documentação do Django para o filtro seguro para mais informações.
Não é necessário usar o filtro ou a tag no modelo. Apenas use format_html () para converter a variável em html e o Django automaticamente desativará o escape para sua variável.
format_html("<h1>Hello</h1>")
Confira aqui https://docs.djangoproject.com/en/3.0/ref/utils/#django.utils.html.format_html
€
), dólar passado da vista, este é o caminho a percorrer.