Автоматическое экранирование в Jinja происходит по умолчанию. 12 Когда оно включено, экранируется всё, кроме выражений, явно помеченных как безопасные. 1 Они помечаются с помощью фильтра |safe. 1
Ручное экранирование требует от разработчика самостоятельно экранировать переменные, если это необходимо. 12 Например, если переменная может содержать символы (>, <, & или '). 12 Как правило, нужно экранировать всё, что пришло из внешнего источника (например, сообщение формы или строку запроса). 1
Таким образом, основное отличие в том, что при автоматическом экранировании всё экранируется по умолчанию, а при ручном разработчик несёт ответственность за экранирование переменных. 12