Автоматическое экранирование HTML включено по умолчанию, поэтому вам не нужно вручную экранировать в большинстве случаев , но не все !
Сброс содержимого переменной внутри HTMLЭлемент в порядке:
<p>{{ variable }}</p>
Джанго автоматически экранирует символы <
, >
, &
, "
и '
, что и нужно здесь.
Можно также сбросить переменную внутри атрибута, поскольку "
и '
оба экранированы, но не забудьте включить кавычки, поскольку пробелы не экранированы:
<span class="{{ variable }}">...</span> <!-- Good -->
<span class={{ variable }}>...</span> <!-- Bad -->
ЕслиВы хотите использовать строку внутри встроенного Javascript, вы должны использовать фильтр escapejs
, и не забывайте кавычки.Это защищает как от выхода из кавычек для переменной Javascript, так и от выхода из тега <script>
с помощью </script>
:
<script>
var value = "{{ variable|escapejs }}";
</script>