我们在浏览别人的博客的时候会发现有一个叫做阅读量的东西,以我在CSDN的博客为例。

django之cookie

我们可以看到这一篇博客的阅读数为11,那么我们是怎么做到的呢,看下面这段代码

django之cookie

看到readed_num,我们设置初始值为0,代表阅读数一开始为0,这个实在models.py里面设置的,因为这些数据都是会存储到后台的。

django之cookie

通过这样的设置之后,当我们每一次对博客进行点击,博客的阅读数都会加1,但是这样做是不对的。我们需要考虑如果是多次点击的话怎么办。因此我们使用缓存cookie来保存我们的记录。

之后我们看到views.py,也就是负责处理网页的代码,

django之cookie

在进行说明之前,我们应该先知道的是我们第一次点击的时候,服务器会发送cookie给客户端这边并保存到本地,然后下次在进行get请求的时候,将本地的cookie一起提交到服务器上。

因此我们先看倒数第三行

django之cookie

这里会返回一个相应给response

django之cookie

然后通过set_cookie设置cookie,第一个参数是name,第二个参数是value,这样我们就将cookie保存到本地了。

当我们再一次对博客进行点击时,我们按f12查看控制台,进入application,点击cookie进入我们的访问页面,会看到如下情况。

django之cookie

看到蓝色的部分,这就是我们在设置cookie的时候的两个参数,一个是name,一个是value。

所以到这里我们就初步的解决了重复点击但阅读数一直增加的问题。

相关文章:

  • 2022-12-23
  • 2022-01-12
  • 2021-08-15
  • 2021-10-23
  • 2021-10-22
  • 2021-10-09
  • 2021-07-29
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
相关资源
相似解决方案