Встроенный HTML-код в строку Python не отображается должным образом в Django

Я столкнулся с проблемой, когда вставляю HTML-код в view.py моего python'а. В принципе, моя цель - настроить цвет только определенных слов (на основе ввода). Я хочу сделать это, изменив view.py

Например (мой view.py):

def home(request):
    form = request.POST.get('uncorrected')
    texts  = str(form) + '<span style="color: red">test text but this section is red</span>'
    return render(request, 'corrector/home.html', {'text': texts})

Внутри моего index.html:

<textarea type="text" id="textarea" name="uncorrected">
        {{ text }}
</textarea>

Однако, когда я набираю "мой текст" в текстовой области, он отображает только:

my text <span style="color: red">test text but this section is red</span>

Не делает текст красным, а напрямую отображает код. Как я могу заставить его работать?

Django автоматически экранирует HTML для предотвращения XSS-атак. Для того чтобы отобразить HTML как HTML, вы просто вставляете safe.

{{ text|safe }}

Django по-прежнему будет экранировать HTML, но он также будет его рендерить

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