2024-03-28 20:50:25 发布
网友
使用web.py,我通过使用
web.database.query()
我想在html模板上显示查询结果。
web.py有什么内置的工具来完成这个任务吗?我没有看到任何关于文档和代码示例的内容。
我也很欣赏指向其他模块的任何指针,这些模块将把sql结果集强制转换成可以由jquery或google数据网格显示的内容。我开始研究一个google数据网格转换器,但我不得不跳过一些障碍来处理各种数据类型。我想这已经做了很多次了-我只想知道我应该在哪里找。
查看web.py's built-in templating system的文档。还有像Mako,Cheetah和Jinja2这样的cookbook examples for hooking in 3rd party template engines。
为了将数据转换为由Javascript显示,您可以使用Python的JSON模块之一:the standard json module (2.6+)、simplejson或python-cjson。
下面是一个使用web.template模块呈现显示一些数据库查询结果的简单HTML页面的快速示例。
web.template
Updated方法select不将列名作为单独的属性返回。它返回一个迭代器,其中每一行是一个字典。因此,要获取列标题,需要从第一行获取。我已经更新了示例以说明如何完成此操作:
select
import web TEMPLATE = '''$def with (rows, cols) <html><body> <h2>Results:</h2> <table> <tr> $for col in cols: <th>$col</th> </tr> $for row in rows: <tr> $for col in cols: <td>$row[col]</td> </tr> </table></body></html>''' class query: def GET(self, arg): res = db.select('player', what='id,name') cols = [] rows = res.list() if rows: cols = rows[0].keys() return tmpl(rows, cols) db = web.database(dbn='mysql') tmpl = web.template.Template(TEMPLATE) urls = ('/(.*)', 'query') if __name__ == '__main__': app = web.application(urls, globals()) app.run()
输出(折叠以节省空间):
<html><body> <h2>Results:</h2> <table> <tr><th>id</th><th>name</th></tr> <tr><td>1</td> <td>Joe</td></tr> <tr><td>2</td><td>Gary</td></tr> <tr> <td>3</td><td>Fred</td></tr> </table></body></html>
查看web.py's built-in templating system的文档。还有像Mako,Cheetah和Jinja2这样的cookbook examples for hooking in 3rd party template engines。
为了将数据转换为由Javascript显示,您可以使用Python的JSON模块之一:the standard json module (2.6+)、simplejson或python-cjson。
下面是一个使用
web.template
模块呈现显示一些数据库查询结果的简单HTML页面的快速示例。Updated方法
select
不将列名作为单独的属性返回。它返回一个迭代器,其中每一行是一个字典。因此,要获取列标题,需要从第一行获取。我已经更新了示例以说明如何完成此操作:输出(折叠以节省空间):
相关问题 更多 >
编程相关推荐