Есть много помощников HTML, которые вы можете использовать, например:
html_code = A('<click>', rows.xml(), _href='http://mylink')
html_code = B('Results:', rows.xml(), _class='results', _id=1)
html_page = HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1)))
и т. Д.
Вы даже можете создать всю таблицу автоматически:
table = SQLTABLE(rows, orderby=True, _width="100%")
и затем выделите его, чтобы вставить ссылки или изменить его элементы.
Это очень мощный инструмент, и обычно вам не нужно самим писать настоящий HTML. Вот таблица , или вы можете проверить непосредственно в документации на сайте .
Редактировать: просто чтобы убедиться, что вам на самом деле не нужно генерировать всю HTML-страницу, проще позволить web2py вставить ваш ответ в шаблон с тем же именем, что и у вашего контроллера (или принудительно вызвать определенный шаблон с помощью response.view = 'template.html'
. В руководстве по документации это будет объяснено лучше и более подробно.
В нескольких словах, если вы реализуете функцию index
, вы можете либо вернуть строку (HTML-код всей страницы, к которой вы, похоже, направлялись), либо словарь для использования шаблонов.
В первом случае просто закодируйте свою функцию следующим образом:
def index():
# ... code to extract the rows
return HTML(BODY(B('Results:', rows.xml(), _class='results', _id=1))).xml()
В противном случае напишите html-шаблон в views / controller / index.html (или в другом файле, если вы вставите response.view=...
в свою функцию, чтобы повторно использовать тот же шаблон), что может быть как это:
<html><head></head>
<body>
{{=message}}
</body>
</html>
и вернуть словарь:
def index():
# ... code to extract the rows
html = B('Results:', rows.xml(), _class='results', _id=1)
return dict(message=html)