Я просто решил изучить Pyramid и выбрать Mako в качестве языка шаблонов. Я получил список из представления, который является сырым результатом sql, следующим образом: [{'sample': 'R1_Y200.fq', 'study': 'GaoQiang1'}, {'sample': 'R1_Y300.fq', 'study ':' GaoQiang2 '},...]
view.py:
@view_config(route_name='example', renderer='example.html')
def templet_test(request):
...
return {'result':search_result}
html:
<html>
...
<table border="1" width="500" align="center" cellpadding="0">
<tr>
<th >study</th>
<th >sample</th>
</tr>
% for item in result:
<tr>
<td valign=top align=center> ${item['study']} </td>
<td valign=top align=center> ${item['sample']} </td>
</tr>
% endfor
</table>
...
</html>
Но это не сработало. Я получил это сообщение: "Внутренняя ошибка сервера
Сервер обнаружил непредвиденную внутреннюю ошибку сервера
(созданный официанткой) "
Как это исправить?
Реальное исключение отображается в консоли - оно будет содержать причину вашей проблемы. Вы также можете включить панель инструментов debug в пирамиде, чтобы иметь более удобный способ обработки ошибок в процессе разработки.
Также, глядя на ваш шаблон - и я предполагаю, что вы используете sqlalchemy для взаимодействия с базой данных, вероятно, вы хотите получить строки результатов, такие как item.study, а не как item ['study'].
Это настолько, насколько я могу предположить, без надлежащего отслеживания.