135.在django中操作cookie
操作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的更多相关文章
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- django中操作cookie与session
cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...
- (25)Django中操作cookie与session组件(添加cookie和删除cookie)
cookie是存在于客户端浏览器上的键值对,是明文的 cookie是当用户访问网站时候和数据提起携带过去,安全性比较差, 容易被拦截 session存在于服务端的键值对,是一串加密的字符串 当用户登陆 ...
- Django 中的 cookie 和 session
一.cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新的 ...
- Django中的cookie与session
cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空间中. 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来 ...
- 【转】Django中的cookie与session
转自:https://www.cnblogs.com/chenchao1990/p/5283725.html cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空 ...
- Django中的Cookie、Session、Token
Cookie : 指望着为了辨别用户身份.进行会话跟踪而存储在用户本地的数据(通常经过加密),是由服务端生成,发送给客户端浏览器,浏览器会将Cookie以key/value保存,下一请求同一网站是就发 ...
- 137.在Django中操作session
在Django中操作session 在django中session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到 ...
- Django中的Cookie和Session操作以及CBV
1.Cookie 平常我们在浏览网页的时候,在需要输入密码的地方,如果已经登陆了一次,并且时间间隔比较近的话,是不需要登陆的,为什么了?这就是Cookie的作用. Cookie(或Cookies)指某 ...
随机推荐
- pytorch之 RNN regression
关于RNN模型参数的解释,可以参看RNN参数解释 1 import torch from torch import nn import numpy as np import matplotlib.py ...
- 深入理解幂等性及Restful风格API的幂等性问题详解
什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外).也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同. ...
- Node.js的__dirname,__filename,process.cwd(),./的一些坑
参考博客:https://github.com/jawil/blog/issues/18
- Spring Cloud(八):使用Spring Cloud Bus来实现配置动态更新
使用Spring Cloud Config我们能实现服务配置的集中化管理,在服务启动时从Config Server获取需要的配置属性.但如果在服务运行过程中,我们需要将某个配置属性进行修改,比如将验证 ...
- ES6 - 基础学习(2): 新的变量声明方式 let 与 const
ES6)新增加了两个重要的 JavaScript 关键字:let 和 const.以前声明变量时只有一种方式:var,ES6对声明方式进行了扩展,现在可以有三种声明方式了. 1.var:variabl ...
- 学习jQuery基础语法,并通过一个案例引出jQuery的核心
jquery是一个快速.小巧,功能强大的javascript函数库. jquery主要用来替代原生的javascript,简化代码. 前端最头疼的就是兼容:IE6/7/8兼容的最高版本是jQuery1 ...
- Hash存储模型、B-Tree存储模型、LSM存储模型介绍
每一种数据存储系统,对应有一种存储模型,或者叫存储引擎.我们今天要介绍的是三种比较流行的存储模型,分别是: Hash存储模型 B-Tree存储模型 LSM存储模型 不同存储模型的应用情况 1.Hash ...
- RequestFacade对象获取请求头时忽略大小写
也许在Controller层 在RequestFacde文件中getHeader函数逻辑实现如下所示: public String getHeader(String name) { if(this.r ...
- No mapping found for HTTP request with URI [/SLSaleSystem/js/jquery.dataTables.min.js] in DispatcherServlet with name 'spring' 静态资源文件访问不到,无解!!!!!!!
报错信息: 网上三种修改 web.xml 文件方法尝试未果 尝试未果:<mvc:default-servlet-handler/> 尝试未果:方法2:直接告诉spring,这个你就得这 ...
- PMP--1.7 项目治理
治理凌驾于管理之上 组织治理用于影响项目治理. 组织治理需要组织根据组织文化.项目类型和组织需求裁剪治理框架,适用于当前组织. 其实组织治理的内容,在项目管理初期不需要详细了解,组织治理的内容都是高层 ...