Django - сохраняет неэкранированный html в модели - PullRequest
11 голосов
/ 26 января 2010

Я пытаюсь сохранить необработанный, неэкранированный HTML-код внутри одной из моих моделей Django для отображения на моей домашней странице. Однако, когда я сохраняю его в TextField, он экранируется и в итоге отображается просто как необработанный текст. Как я могу хранить сырой HTML в модели Django?

** РЕДАКТИРОВАТЬ **

Кажется, что это происходит не на уровне модели, а на уровне шаблона. Должен ли я использовать специальный тег? Я проверил значение в оболочке, и оно просто отлично, но по какой-то причине, когда я сделал {{block.html} (html - это атрибут блочного объекта, который хранит фактический HTML) в шаблоне, это выглядит так:

<p>This is a <strong>very</strong> <em>important</em> <span style="text-decoration: underline;">block</span></p>
<p style="padding-left: 30px;">it has very significant content!</p>

1 Ответ

17 голосов
/ 26 января 2010

Вы можете использовать фильтр safe для представления неэкранированного текста или фильтр escape для представления экранированного текста. Вы также можете использовать тег autoescape для установки блока. ({% autoescape on %} или {% autoescape off %})

...