Возможно ли HTML кодировать вывод в шаблонах AppEngine? - PullRequest
0 голосов
/ 20 мая 2009

Итак, я передаю объект со свойством «content», содержащим html.

<div>{{ myobject.content }}</div>

Я хочу иметь возможность выводить содержимое, чтобы символы отображались как символы html.

Содержимое "conent" может быть:

Hello

Я хочу, чтобы это было отправлено в браузер как: & ampt; p & ampgt; Hello & ampt; / p & gt;

Есть ли что-то, что я могу добавить в свой шаблон, чтобы сделать это автоматически?

Ответы [ 2 ]

4 голосов
/ 20 мая 2009

Да, {{ myobject.content | escape }} должно помочь (при условии, что вы имеете в виду шаблоны Django - нет конкретной системы шаблонов «App Engine», приложения GAE часто используют систему шаблонов Django); вам может понадобиться повторить часть | escape, если вы хотите два уровня выхода (как это имеет место в некоторых, но не во всех приведенных вами примерах).

2 голосов
/ 20 мая 2009

Это функция Django django.utils.html.escape:

def escape(html):
    """Returns the given HTML with ampersands, quotes and carets encoded."""
    return mark_safe(force_unicode(html).replace('&', '&amp;').replace('<', '&l
t;').replace('>', '&gt;').replace('"', '&quot;').replace("'", '&#39;'))

Также см. здесь .

...