如何在Flask中重新加载图像

时间:2018-10-23 23:46:37

标签: python-3.x flask

我正在开发一个烧瓶应用程序,在其中生成极坐标图。 创建绘图的函数将使用以下图形保存文件(jpg):

def polar_figure(df, player_):
    ....
    fig = plt.figure(figsize = (20,20), )
    ....
    # Save the plot
    plt.savefig('static/'+str(player_)+'_plot.png', transparent = True, bbox_inches = 'tight')
    return 'static/'+str(player_)+'_plot.png'

,该应用会生成一个网址:

player_pic_url = '/static/'+str(player)+'_pic.jpg'

return render_template(player_pic_url = player_pic_url)

然后由index.html加载

<img src={{player_pic_url}} alt="picture" style="width:100%; border-radius: 65%; border: 20px solid transparent;">

问题是,每次文件在浏览器中重新加载时,它都会显示相同的图,即使文件按预期随着新数据而变化。

因此,问题是是否有一种方法可以让应用程序在每次重新加载文件时都加载文件?

谢谢。

1 个答案:

答案 0 :(得分:2)

这是导航器的缓存。 您不应为两个不同的图片使用相同的名称 因此,只需为您上传的每个图像生成一个不同的名称:

image_name = "{}_{}.png".format(player_name,datetime.datetime.utc_now().isoformat())  # could be a uuid instead of datetime
plt.savefig('static/{}'.format(image_name), transparent = True, bbox_inches = 'tight')