flask web上传头像,要过很久才能显示新头像,为什么?

跟着flask web开发这本书学习,我用flask实现了一个用户上传图片设置为头像的功能

具体实现方式为:

用Form表单获得文件--->存储文件到项目指定文件夹(文件用用户ID命名)--->把储存文的件路径提交到数据库--->最后在网页模板中按照用户ID提取文件

这是视图函数中的代码

file = form.file.data
file.save('app/static/images/%s.jpg' %current_user.id)
current_user.image = 'images/%s.jpg' %current_user.id
db.session.add(current_user)

这是模板中的代码

<img class="img-rounded profile-thumbnail" src="{{ url_for('static', filename=user.image) }}" width="260" height="260">

现在存在的问题是上传图片后,文件存储正常、数据库更新也正常。可是网页上显示的头像还是没有变化。然后要过一段时间才能显示新头像,为什么?

刚学编程,如果有提问不合适的地方,请谅解,谢谢大家了!

阅读 2.8k
1 个回答

应该是静态资源被浏览器缓存的原因,试下下面几个方案:

  1. 每次上传图片,用不同的名字保存和展示

  2. 在静态资源添加版本号(具体谷歌)

  3. 静止头像图片的缓存

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题