stan
Янв. 29, 2012 15:08:29
Добрый день!
Начал осваивать Pyramid и столкнулся с тем, что не могу вывести теги - они квотируются.
@view_config(route_name='tables_list', renderer='templates/base.pt')
def view_tables_list(request):
body = u""
tablelist = metadata.tables.keys()
for table in tablelist:
body += u'<a href="%s">%s</a> ' % (table, table)
title = u"Список таблиц"
return {'title': title, 'body': body}
Т.е. при выводе я вижу:
<a href="dirs">dirs</a> <a href="files">files</a> <a href="tasks">tasks</a>
Скажите, пожалуйста, куда копать? ))
stan
Янв. 29, 2012 15:34:28
Ответ оказался прост ))
Нужно было в “templates/base.pt” переменную ${body} заменить на ${structure: body}
(вот здесь
ответ на англицком!)
Solaris
Фев. 2, 2012 14:39:45
По-моему это не совсем правильный подход. Можно отдать список тэгов в шаблон и уже средствами шаблонизатора делать цикл и вывод. Лучше держать весь html-код в шаблонах.
Еще добавлю, что после того как я перевел текущий проект на Jinja2-шаблоны ничего кроме положительных эмоций не испытывал. Все таки некоторые вещи в Chameleon реализованы странно. Хотя для начала можно сильно не заморачиваться.
stan
Фев. 3, 2012 14:18:10
Я не могу с вами не согласится - выводить на страницу небезопасные строки не есть хорошо. Но к тому времени я понятия не имел про tal, да и сейчас, особо, не до него, хочется получить пусть и сырой, но работающий код, а уж потом его допиливать, хотя, может быть это и не совсем верный подход ))
Про Jinja2 слышал только положительные отзывы, спасибо за совет ))