django之cookie

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

django之cookie_第1张图片

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

django之cookie_第2张图片

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

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

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

django之cookie_第3张图片

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

因此我们先看倒数第三行

这里会返回一个相应给response

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

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

django之cookie_第4张图片

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

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

你可能感兴趣的:(django之cookie)