Под «текстовой областью» вы подразумеваете <textarea>
?
Потому что, если это так, экранирование от <
до <
(и др.) - это то, что вы должны делать внутри текстовой области или любого другого элемента HTML: Django делает все правильно. Вы видите правильную, расшифрованную версию текста на странице; кого волнует, как выглядит источник?
Если вы не избегаете содержимого текстовой области, вы не только генерируете недопустимый HTML, вы также открываете себя для атак, когда пользователь вводит:
</textarea>
<script>
steal(document.cookie);
location.href= 'russian malware site';
// etc.
</script>