您可以使用许多 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。这是备忘单 http://www.web2py.com/examples/static/web2py_cheatsheet.pdf,或者您可以直接在网站文档 http://www.web2py.com/examples/default/docs.
编辑:只是为了确保,您实际上不需要生成整个 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()
否则,在views/中编写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)