Название говорит о многом. Python3.3 с использованием фреймворка приложений Pyramid (-s starter). Добавление этого кода в контроллер views.py:
from HTMLParser import HTMLParser
h = HTMLParser()
string = '<p>Hi there!</p>';
return dict( string=h.unescape(string) )
где return dict(..) передается шаблону с простым маркером ${string} в нем, результатом в веб-браузере всегда будет отображение угловых скобок вместо того, чтобы отображать их как теги. То есть на веб-странице отображается: ‹p›Привет!‹/p›
Мне нужно иметь возможность передавать пользовательский контент (html с разметкой) в шаблон, чтобы он отображался встроенным. Что еще мне нужно сделать?
HTMLParser
? В Python 3.3 есть классHTMLParser
, который помещен в модульhtml.parser
, а неHTMLParser
, и он выполняет нет методаunescape
... - person Piotr Dobrogost   schedule 22.11.2013.unescape()
общеизвестно недокументирован; он все еще присутствует в Python 3.3. - person Martijn Pieters   schedule 22.11.2013.unescape()
состоит в том, чтобы превратить объекты HTML обратно в обычные символы, и он полностью ортогонален тому, что вы хотите; пометить строки безопасными для включения в ваш шаблон. - person Martijn Pieters   schedule 22.11.2013