django中的重定向

时间:2011-01-10 11:07:11

标签: python django django-templates django-views

在我的主页上,我有一张关于更改个人资料照片的个人资料照片我更新数据库并将页面重定向到/ home。但是现在当我重定向旧图片时仍然保持不变直到刷新按钮被击中.Ami做错了什么

这是在python代码中

 return HttpResponseRedirect('/home')

这是在/ home

的基础html页面中
   <img src="{{photo}}" ></img>

2 个答案:

答案 0 :(得分:1)

浏览器可能会缓存个人资料图片。有多种方法可以避免它:

  • 通过更改响应标头来禁用缓存。这对于制作来说是一个坏主意,因为图片永远不会被缓存,因此每个页面请求都会获取图片,从而大量增加流量

  • 更新照片时更改照片的文件名。您可以使用内容的哈希值或类似SHA1(userid + timestamp of upload)

  • 的内容
  • 在图片的响应标题中使用HTTP ETag

答案 1 :(得分:1)

我读到的一个技巧包括编写类似的内容:

<img src="{{photo}}?version={{version}}"></img>

版本是您在更新文件时增加的新版本号(您也可以使用{{photo.file}}{{photo.version}})。 这样,URL就会不同,浏览器也不会使用缓存版本。