Вопрос
Я использовал Rows.xml () для генерации вывода HTML. Я хочу знать, как добавить HTML -коды на эту сгенерированную HTML -страницу, например: «Добавить логотип, файл ссылки CSS, ... и т. Д.»
rows=db(db.member.membership_id==request.args[0]).select(db.member.membership_id
,db.member.first_name,db.member.middle_name
,db.member.last_name)
return rows.xml()
Решение
Есть много 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 в представлениях/контроллер/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)
Другие советы
Просто добавьте/добавьте его к строке, которая rows.xml()
Возвращает:
html = '<html><head>...</head><body>' + rows.xml() + '</body></html>'