Django 中的重定向

发布于 2024-10-11 12:50:48 字数 287 浏览 6 评论 0原文

在我的主页中,我有一个关于更改个人资料图片的个人资料图片,我更新数据库并将页面重定向到 /home 。但现在,当我重定向时,旧图片保持不变,直到点击刷新按钮。Ami 在这里做错任何事情

这是在 python 代码中

 return HttpResponseRedirect('/home')

这是在 /home 的基本 html 页面中

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

In my home page i have a profile pic on changing the profile pic i update the DB and redirevt the page to /home . But now when i redirect the old picture remains the same till refresh button is hit.Ami doing anything wrong here

This is in the python code

 return HttpResponseRedirect('/home')

This is in the base html page in /home

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠意 2024-10-18 12:50:48

也许个人资料图片被浏览器缓存了。有多种方法可以避免它:

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

  • 在更新时更改照片的文件名。您可以使用内容的哈希值或诸如 SHA1(用户 ID + 上传时间戳)

    之类的内容

  • 使用 HTTP ETag 在图片的响应头

Maybe the profile picture is cached by the browser. There are multiple ways to avoid it:

  • disable caching for the by changing the response headers for it. This is a bad idea for production because the picture would never be cached, so every page-request would fetch the picture, which massively increases the traffic

  • change the filename of the photo when it is update. You could i.e. use a hash of the content or something like SHA1(userid + timestamp of upload)

  • use a HTTP ETag in the response header of the picture

奢望 2024-10-18 12:50:48

我读过一个技巧,其中包括编写如下内容:

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

There's a trick I read that consists in writing something like:

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

Where version is a new version number that you increase when your file is updated (you could alternatively use {{photo.file}} and {{photo.version}}).
This way the URL will be different and the browser will not used the cached version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文