Python 如何使用flask框架将数据发送到html工作表

Python 如何使用flask框架将数据发送到html工作表,python,ajax,function,flask,render-html,Python,Ajax,Function,Flask,Render Html,我有一个函数calculate_full_eva_web(input:dict)它接收输入字典在这个输入上应用了几个函数来创建计算dict,计算后我想把这个数据发送到html仪表板,然后把数据发送到html文件,我可以在那里玩jinja的东西。我无法做到这一点,我尝试了几种方法,但都出现了错误。而且我对ajax也不太了解,也许ajax会帮我完成工作,让我知道。这就是为什么我在这篇文章中为ajax用户添加标签。回溯也附在附件中。谢谢 简单地说,我想在flask中将数据发送到html!请检查我的密码

我有一个函数calculate_full_eva_web(input:dict)它接收输入字典在这个输入上应用了几个函数来创建计算dict,计算后我想把这个数据发送到html仪表板,然后把数据发送到html文件,我可以在那里玩jinja的东西。我无法做到这一点,我尝试了几种方法,但都出现了错误。而且我对ajax也不太了解,也许ajax会帮我完成工作,让我知道。这就是为什么我在这篇文章中为ajax用户添加标签。回溯也附在附件中。谢谢

简单地说,我想在flask中将数据发送到html!请检查我的密码。如果我做错了什么,请告诉我

imports ...
from other file import other_functions
from other file import other_functions_2
from other file import other_functions_3

app = Flask(__name__, template_folder='templates/')

@app.route("/dashboard")
def calculate_full_eva_web(input:dict):

   calculate_gap = other_functions(input)
   calculate_matrix = other_functions_2(input)
   average = other_functions_3(input)
   data = dict{'calculate_gap':calculate_gap, 'calculate_matrix':calculate_matrix,'average':average}

   return render_template('pages/dashboard.html', data = data) 

if __name__ == "__main__":
    app.run(debug=True)

路由接收dict作为输入,因此您必须将
@app.route(“/dashboard”)
更改为
@app.route(“/dashboard/”)
,并将
输入传递到路由链接中的路由

例如,我有一条如下的路线

@app.route(“/user/”)
def用户(名称):
返回渲染模板('home.html',name=name)

要将
name
传递到路由,我访问链接
http://localhost:5000/user/myname

您能解释一下如何将字典传递给/dashboard endpoint吗?@DhruvRajkotia感谢您的回复,我将计算出的值保存到了数据变量中,然后返回render_模板(/pages/dashboard.html,data=data),我认为输入:dict部分定义错误,您必须像这里一样传递它@app.route(“/dashboard/”)def calculate_full_eva_web(数据):data=json.loads(数据)。您必须这样通过。@DhruvRajkotia当我访问/dashboard时抛出此错误,则在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。这是否回答了您的问题?input dict是从项目中的其他文件提交的字典。是的,当我删除输入时:函数args中的dict,flask可以显示dashboard.html,但没有数据,我必须将输入dict传递给此函数,以便它首先可以对其进行计算,然后我可以在此函数中呈现此数据,或者您方的任何其他建议?因此,您需要阅读内部字典,不要将其作为函数参数传递。如果在将此问题发布到此处之前,我多次尝试了您的方法,但随后它抛出以下错误:“在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试”。这是一种正确的格式,@app.route(/dashboard/)def index(input):return render_模板('pages/dashboard.html'))