Как перезагрузить изображение в Flask - PullRequest
0 голосов
/ 24 октября 2018

Я работаю над приложением для колб, в котором я создаю полярный график.Функция создания графика сохраняет файл (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'

, и приложение генерирует URL:

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

return render_template(player_pic_url = player_pic_url)

, который затем загружается в индекс.html

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

Проблема в том, что каждый раз, когда я перезагружаю приложение в браузере, оно продолжает показывать один и тот же график, даже если файл, как и ожидалось, изменяется с новыми данными.

Итак, вопрос в том, есть ли способ попросить приложение загружать файл каждый раз, когда он перезагружается?

Спасибо.

1 Ответ

0 голосов
/ 24 октября 2018

Это кеш вашего навигатора.у вас не должно быть одинакового имени для двух разных изображений. Просто создайте разные имена для каждого загружаемого изображения:

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...