把一份名单从皮维传给佛罗里达州的金贾2号

2024-09-30 03:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个Flask应用程序,它查询我的数据库(使用peewee),并将结果发送到Jinja2进行渲染。我的观点是这样的:

@application.route('/maindash')
def maindash():
    sq = Selfreported.select().join(Demog).where(Demog.mrn == session['mrn']).order_by(Selfreported.reportingdate)
    series1data = ["Series 1", ([s.reportingdate, s.series] for s in sq)]
    jsonedData = json.dumps(series1data)

    return render_template('maindash.html', seriesdata=jsonedData)

要将查询的结果传递到Jinja2,我知道需要序列化数据。但是当我打电话给你的时候json.dumps文件:TypeError:at 0x104854be0>;不可序列化JSON。所以我想我实际上不是在获取数据,而是在尝试序列化查询对象本身?在

我看过的每个peewee示例都使用peeweeflask中的object\u list helper函数,而不是直接将查询结果传递到render_template中。我看过对象列表,但我很难理解它-

^{pr2}$

我是否应该使用QueryResultWrapper上的方法来获取实际数据而不是对象?我已经看过tuples()和dict(),但我无法对它们进行迭代。在


Tags: 对象jsonjinja2序列化sqrenderpeeweedumps
1条回答
网友
1楼 · 发布于 2024-09-30 03:25:05

在将数据传递给Jinja之前没有理由序列化数据,因为Jinja是用Python编写的,可以处理Flask可以处理的任何东西。只需将series1data传递到render_template调用中,然后在模板中遍历它:

return render_template('maindash.html', seriesdata=series1data)

^{pr2}$

相关问题 更多 >

    热门问题