gpt4 book ai didi

python - 如何为flask应用程序设置带有文本和图像的html?

转载 作者:行者123 更新时间:2023-12-04 13:28:44 24 4
gpt4 key购买 nike

我有一个 flask 应用程序,它看起来像:

@app.route("/predict", methods=["GET","POST"])
def predict():
if request.method == "POST":
if request.files:
raw_data = request.files['image'].read()
finalNumpyArray=np.array(json.loads(raw_data), dtype = 'uint8')
processed_image = preprocess_image(finalNumpyArray)
processed_image1 = preprocess_image1(finalNumpyArray)
prediction = model.predict(processed_image).tolist()
f1 = plt.imshow(processed_image1, interpolation='none')
f1.show()

response = {
'prediction': {
'Center': prediction[0][0],
'Donut': prediction[0][1],
'Edge-Loc': prediction[0][2],
'Edge-Ring': prediction[0][3],
'Loc': prediction[0][4],
'Random': prediction[0][5],
'Scratch': prediction[0][6],
'None': prediction[0][7],
}
}


return jsonify(response)
return render_template("predict.html")
第一个预测页面显示“predict.html”页面,您可以在其中上传图像以通过我在应用程序中加载的模型对其进行预测。上传后,第二个页面出现,带有 jsonify(response)。
我想将 jsonify(response) 更改为一个 html,该 html 对“响应”变量具有很好的读数,并且还显示了 f1 图 plt.imshow(...)。该图看起来像这样。
plt.imshow(...)

最佳答案

您可以使用 render_template渲染 Jinja2模板。
查看 Flask 文档 here .
本质上,您将替换您的 return jsonify(response)像这样:

return render_template('your_template.html', prediction=response['prediction'])
现在,您的 Jinja2 模板将在 prediction 中提供预测字典。模板变量。
对于 f1图像您需要先以某种方式将其保存到磁盘(例如使用 plt.imsave() ,参见 here ),然后将文件路径也传递给 render_template调用以便您可以在 <img /> 中使用它模板中的标签。

关于python - 如何为flask应用程序设置带有文本和图像的html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66517130/

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