操作cookie

设置cookie

设置cookie是设置值给浏览器的,因此我们可以通过response的对象来设置,可以通过HttpResponse的对象或者是HttpResponseBase的子类对象来设置,设置cookie可以通过response.set_cookie来设置,这个方法的相关参数如下:

(1)key:这个cookie的key。
(2)value:这个cookie的value。
(3)max_age:最长的生命期。单位是秒。
    # 2. 设置过期时间为两分钟过后
response.set_cookie('username', 'guyan', max_age=120)
(4)expires:过期时间。跟max_age是类似的,只不过这个参数需要传递一个具体的日期,比如datetime或者是符合日期格式的字符串,如果同时设置了expires和max_age,那么符合使用expires的值作为过期时间。
from datetime import datetime
from django.utils.timezone import make_aware # 3. 设置过期时间expires,datetime类型或日期格式的字符串
# date = datetime(year=2020,month=2, day=20, hour=0, minute=0, second=0)
# 此时在浏览器中获取的时间为navie时间,可以使用make_aware转变为本时区的时间
date = make_aware(datetime(year=2020,month=2, day=20, hour=0, minute=0, second=0))
(5)path: 对域名下哪个路径有效。默认是针对域名下的所有路径都有效。
response.set_cookie('password', 'guyan', max_age=120, path='cms/')
(6)domain: 对哪个域名有效,默认情况下针对主域名下都有效,如果只要针对某个子域名才有效,那么可以设置这个属性。
(7)secure:是否是安全的,如果设置为True,那么只能在https协议下才能使用。
 response.set_cookie('password', 'guyan', max_age=120, path='cms/', secure=True)
(8)httponly:默认是False,如果为True,那么在客户端不能通过Javascript进行操作。

删除cookie

通过delete_cookie即可删除cookie,实际上删除cookie就是将指定的cookie的值设置为空的字符串,然后使用将他的过期时间设置为0,也就是浏览器关闭之后就过期。

def delete_cookie(request):
response = HttpResponse('delete cookie view')
depwd = response.delete_cookie('password')
print(depwd)
<!--打印出的结果为None-->
return response
在浏览器中查看cookie信息,可以看到名称为password的内容为空的字符串,并且创建时间和到期时间是相同的,也就是立即过期,这样就达到了删除cookie的效果。

获取cookie

获取cookie可以通过request.COOKIES来获取,示例代码如下:
def my_list(request):
cookies = request.COOKIES
cookie = cookies.get('username')
print(cookie)
return HttpResponse('mylist')

135.在django中操作cookie的更多相关文章

  1. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  2. django中操作cookie与session

    cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...

  3. (25)Django中操作cookie与session组件(添加cookie和删除cookie)

    cookie是存在于客户端浏览器上的键值对,是明文的 cookie是当用户访问网站时候和数据提起携带过去,安全性比较差, 容易被拦截 session存在于服务端的键值对,是一串加密的字符串 当用户登陆 ...

  4. Django 中的 cookie 和 session

    一.cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新的 ...

  5. Django中的cookie与session

    cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空间中. 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来 ...

  6. 【转】Django中的cookie与session

    转自:https://www.cnblogs.com/chenchao1990/p/5283725.html cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空 ...

  7. Django中的Cookie、Session、Token

    Cookie : 指望着为了辨别用户身份.进行会话跟踪而存储在用户本地的数据(通常经过加密),是由服务端生成,发送给客户端浏览器,浏览器会将Cookie以key/value保存,下一请求同一网站是就发 ...

  8. 137.在Django中操作session

    在Django中操作session 在django中session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到 ...

  9. Django中的Cookie和Session操作以及CBV

    1.Cookie 平常我们在浏览网页的时候,在需要输入密码的地方,如果已经登陆了一次,并且时间间隔比较近的话,是不需要登陆的,为什么了?这就是Cookie的作用. Cookie(或Cookies)指某 ...

随机推荐

  1. bin utilities related

    objdump -S,如果有源程序的话,将源程序与汇编代码混合在一起. 使用该选项时,输入的目标文件需要有调试信息,即用gcc -g生成的目标文件才可以,因为,调试信息中采用源程序信息. objcop ...

  2. lwip的netif状态管理

    netif的状态变化可以设置回调函数, 主要有三项变化, 1 netif up or down,address change,address state change(IPv6) 2 link up ...

  3. 调用winpcap发送路由器公告

    #include <stdlib.h> #include <stdio.h> #include <pcap.h> #pragma comment(lib, &quo ...

  4. vue路由--嵌套路由

    静态嵌套路由: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. 常用MySQL操作

    常用MySQL操作 更改MySQL数据库root的密码 将绝对路径加入环境变量并设置开机启动 # PATH=$PATH:/usr/local/mysql/bin # echo "PATH=$ ...

  6. scrapy的useragent与代理ip

    scrapy中的useragent与代理ip 方法一: user-agent我们可以直接在settings.py中更改,如下图,这样修改比较简单,但是并不推荐,更推荐的方法是修改使用scrapy的中间 ...

  7. 安全扫描工具Acunetix即AWVS_13.x系列破解版Linux & Windows

    本站所提供工具仅供技术学习交流.请勿用于非法行为.否则后果自负. Acunetix,自动化网络应用安全软件的先驱,已经宣布发布Acunetix第13版.新版本提供了一个改进的用户界面,并引入了创新,如 ...

  8. 多线程笔记 - provider-consumer

    通过多线程实现一个简单的生产者-消费者案例(笔记). 首先定义一个要生产消费的数据类 : public class Data { private String id; private String n ...

  9. php面试笔记(6)-php基础知识-正则表达式考点

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而正则表达式相关 ...

  10. 最短路问题 Dijkstra算法- 路径还原

    // 路径还原 // 求最短路,并输出最短路径 // 在单源最短路问题中我们很容易想到,既然有许多条最短路径,那将之都存储下来即可 // 但再想一下,我们是否要把所有的最短路径都求出来呢? // 实际 ...