在Flas中返回多个对象

2024-05-23 18:59:16 发布

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

我试图将两个项目返回到Flask中的html文件中,但在找出最佳方法时遇到了困难。在

Flask从另一个文件中提取的两条操作线是:

                                            # trader_db = Blotter(1000000, collection)
cash = self.cash + df['Value'].sum()        # trader_db.cash
return df.to_html('templates/pnlstmt.html') # trader_db.pnl(collection)

使用此代码:

^{pr2}$

我得到了预期的损益表

Symbol  Position
AAPL    350.0
AMZN    1000.0
GOOG    350.0

但是现金没有显示出来。在

有没有一种方法可以让show\u pl()同时显示这两个对象?在

我试图使cash成为一个数据帧并进行连接,但却抛出了一个错误。在


Tags: 文件项目方法selfflaskdfdbreturn
1条回答
网友
1楼 · 发布于 2024-05-23 18:59:16

总的想法是把“逻辑”和“呈现”分开。使用python函数计算值。使用模板系统,您可以在一个美观的html视图中构建它。在

我写了一个简单的例子,可能对你有帮助:

首先,我们计算数据(我在这里有一个存根)并将它们作为变量传递给模板上下文:

from flask import app, render_template
import pandas as pd

main = app.Flask("app")

@main.route('/pnl')
def pnl():
    df = pd.DataFrame([["AAPL","AMZN","GOOG"], [350.0,1000.0,350.0]], index=["Symbol","Position"]).T
    cash = 100000

    # passing data to the template
    return render_template("pnl.html", data=df, cash=cash)

main.run(port=8889)

其次,我们创建模板,将数据“呈现”成html。这是pnl.html文件的内容:

^{pr2}$

这是一个完整的代码来启动和测试它。在

相关问题 更多 >