Ваш код имеет две проблемы. Во-первых, ответ не может быть списком кортежей. Это может быть строка или список строк, как предлагает Питер, или, если вы хотите использовать представление, это может (и должен) быть словарь переменных представления. Ключи - это имена переменных (эти имена, такие как comments
, будут доступны в представлении), значения - произвольные объекты.
Итак, ваша функция обработчика может быть переписана как:
@route('/')
@view('index')
def index():
# code
comments = [
(u'34782439', 78438845, 6, u'hello im nick'),
(u'34754554', 7843545, 5, u'hello im john'),
(u'332432434', 785345545, 3, u'hello im phil')]
return { "comments": comments }
Обратите внимание на декораторы @view
и @route
.
Теперь у вас есть проблема с кодом вашего представления: отсутствуют запятые в распаковке кортежей. Следовательно, ваше представление (в моем случае имя index.html
) должно выглядеть следующим образом:
%for address, date, user, text in comments:
<h3>{{address}}</h3>
<h3>{{date}}</h3>
<h3>{{user}}</h3>
<h3>{{text}}</h3>
%end