[英]Populate a Flask image from Matplotlib
这就是我想要做的。
我有一个名为“index.html”的模板,某处包含如下图像:
<img class="img-circle" src="/image?imei={{i}}&s={{s}}">
在烧瓶中,我有一个/ image url的处理程序,如下所示:
@app.route('/image', methods=['GET'])
def image():
imei = request.args.get('imei')
dt = request.args.get('s').split("/")
return someFunction(imei,dt) <-- SHOULD THIS BE RETURN?
someFunction生成Matplotlib图像。 保存到磁盘时图像看起来正确,但我不知道如何“返回”此图像,以便在image.html中正确呈现。 这是我目前正在做的事情( Python Matplotlib到smtplib ):
def somefunction(imei,dt)
...
#plt is valid and can be saved to disk
plt.tight_layout()
#plt.show() <-- this looks correct when uncommented
buf = io.BytesIO()
plt.savefig(buf, format = 'png')
buf.seek(0)
print(buf.read()) <-- prints a bunch of stuff
return buf.read() <-- this does not work
前面提到的“一堆东西”看起来像这样:
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x03 \x00\x00\x02X\x08\x06\x00\x00\x00
我该怎么做呢? 目前Flask炸弹有:ValueError:View函数没有返回响应
尝试:
@app.route("/image")
def image():
ret = # create raw image data w/matplotlib
resp = Response(response=ret,
status=200,
mimetype="image/png")
return resp
我没试过,可能行不通。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.