gpt4 book ai didi

python - 修改 Web2py 中 sqlform.grid() 的列输出

转载 作者:行者123 更新时间:2023-11-28 23:02:39 25 4
gpt4 key购买 nike

我已经开始将 web2py 用于 Web 应用程序,并尝试使用 SQLFORM.grid(...) 来显示我的 db-table 数据之一的分页列表,如以下最小示例所示.

grid=SQLFORM.grid(query,
links=links,
fields=[db.example.date,db.example.foo, db.example.bar])

db.example.date 字段包含 UTC 格式的 Python datetime.datetime 对象。目前它就是这样显示的。但是,我想以一种可以设置本地时区并将输出字符串修改为类似于“2 小时前”的方式来更好地控制实际输出。

如另一个问题[0] 所示,我可以使用链接 插入新列。不幸的是,我似乎无法按以这种方式插入的字段对行进行排序。此外,它们被插入到右侧,而不是实际替换我的第一列。所以这似乎不是解决方案。

总结一下:我如何控制 db.example.date 最终打印出来的方式?

[0] Calculated Fields in web2py sqlgrid

最佳答案

当您在模型中定义表格时,您可以实现您的目标。您在 define_table 中使用的 Field 构造函数中的 represent 参数将被 SQLFORM.grid 识别。例如,如果您只想打印带有月份名称的日期,您可以将以下内容放入您的模型中。

Field('a_date', type='date', represent=lambda x, row: x.strftime("%B %d, %Y")),

您的函数也可以转换为本地时间。

关于python - 修改 Web2py 中 sqlform.grid() 的列输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9678172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com