напечатать HTML-тег программно на GAE Python - PullRequest
1 голос
/ 23 ноября 2011

есть ли способ напечатать HTML-код в веб-приложении GAE?

for k, v in menubar.iteritems():
if(re.search(v, self.request.path)):
  menustring += '<li class="current"><a href="'+v+'">'+k+'</a></li>'
else:
  menustring += '<li><a href="'+v+'">'+k+'</a></li>'

печать по шаблону:

<ul>
  {{ menustring }}      
</ul>

показывает <> вместо <>

1 Ответ

4 голосов
/ 23 ноября 2011

HTML-теги (точнее, <) автоматически экранируются шаблонами Django для предотвращения уязвимостей межсайтового скриптинга.Вы можете использовать фильтр safe (например, {{menustring|safe}}), чтобы избежать экранирования.

Вы почти наверняка не должны использовать это здесь - вы должны вместо этого передать список групп в шаблон,и перебирать их там.Это гарантирует, что отдельные элементы экранируются там, где это требуется, а также позволяет избежать использования логики рендеринга шаблонов в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...