django cookie 提供的功能 参数
# 用户发来数据带来所有COOKIES 这个cookie是字典
request.COOKIES
# 获取字典 获取cookie
request.COOKIES["username111"]
# get方法获取字典 cookie
request.COOKIES.get("username111") 服务器端可以给用户写cookie 设置cookie
# 设置cookie
response = render(request,"index.html")
response = redirect("/index/")
# 返回用户cookie
# set_cookie()第一个值是key 第二个值是value
# 给用户设置cookie也是key 和value
response.set_cookie("key","value")
return response
用户登录,登录成功之后只要不关闭浏览器,cookie一直生效。后台重启,cookie一直存在 设置cookie时 后面不加任何参数,表示关闭浏览器时候,cookie就失效了,再打开浏览器就要重新登录了
rep = HttpResponse(...) 或 rep = render(request, ...) rep.set_cookie(key,value,...) 参数:
key, 键
value='', 值
max_age=None, 超时时间
expires=None, 超时时间(IE requires expires, so set it if hasn't been already.)
path='/', Cookie生效的路径,/ 表示根路径,特殊的:跟路径的cookie可以被任何url的页面访问
domain=None, Cookie生效的域名
secure=False, https传输
httponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)
max_age 设置cookie超时时间 , 例如 max_age=10 10秒后cookie过期 登录状态只能保存10秒
# 设置cookie
response = render(request,"index.html")
response = redirect("/index/")
# 返回用户cookie
# set_cookie()第一个值是key 第二个值是value
# 给用户设置cookie也是key 和value # 设置cookie,关闭浏览器是失效
response.set_cookie("key","value") #设置cookie 超时时间,N秒之后失效
response.set_cookie("key", "value",max_age=1000)
return response
expires 也是超时时间,区别是max_age以秒为单位,expires是用datetime实现 超时时间
导入datetime模块 设置5秒超时时间
# 利用datetime1的超时时间,到哪个时间节点过期
import datetime
# datetime.datetime.utcnow() 获取当前时间
current_date = datetime.datetime.utcnow()
# 设置了 时间差 设置这个时间是5秒过期
current_date = current_date + datetime.timedelta(seconds=5)
response.set_cookie("key", "value", current_date) return response
所以设置cookie超时时间 两张方法 expires,max_age
path='/' 生效路径 设置cookie默认是'/' 代表允许网站任何url 都可以访问cookie
如果设置path='/index/' cookie只能index页面使用,其他url页面不能使用cookie domain=none 设置生效cookie的域名 只能是2级域名
django cookie 提供的功能 参数的更多相关文章
- Django之ORM字段和参数
字段 常用字段 AutoField ...
- Python Django ORM 字段类型、参数、外键操作
AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary ...
- Django ORM常用字段和参数
常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围 ...
- Django ORM字段和字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09
目录 昨日补充:将自己写的 login_auth 装饰装在 CBV 上 django 中间件 django 请求生命周期 ***** 默认中间件及其大概方法组成 中间件的执行顺序 自定义中间件探究不同 ...
- django之ORM字段及参数
目录 ORM字段及参数 orm常用字段 字段合集 自定义char字段 字段参数 外键字段的参数 ORM字段及参数 orm常用字段 字段名 说明 AutoField 如果自己没有定义主键id,djang ...
- 使用Django实现发邮件功能
django实现发送邮件功能 django实现邮件发送功能 1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件 ...
- 在Django中使用Channels功能
前言:最近后台写游戏更新版本功能,简单就是前端发送更新请求,后端需要对很多台服务器进行更新和各种操作,本来想着实现不难,后来发现因为后端需要执行很长时间,前端返回报错,后端会执行完毕,但是前端先断开了 ...
- 十五天精通WCF——第三天 client如何知道server提供的功能清单
通常我们去大保健的时候,都会找姑娘问一下这里能提供什么服务,什么价格,这时候可能姑娘会跟你口述一些服务或者提供一份服务清单,这样的话大 家就可以做到童嫂无欺,这样一份活生生的例子,在wcf中同样是一 ...
随机推荐
- phpstrom xdebug wamp调试配置文档
下载并安装phpstorm,下载地址如下 http://download-cf.jetbrains.com/webide/PhpStorm-9.0.2.exe 安装完成后,完成注册,注册方法如下 ...
- ubuntu16.04 安装opencv3.2.0以及opencv_contrib-3.2.0
1.需要的包:sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config l ...
- 在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项)
在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项) A. classes目录 B. images目录 C. jar目录 D. 任意位置 解答:A
- This表示当前对象
This表示当前对象. Public void printNum(){ Int number=40: System.out.println(this.number); } 此时打印的是实例变量,而非局 ...
- 【BZOJ】2440: [中山市选2011]完全平方数(莫比乌斯+容斥原理+二分)
http://www.lydsy.com/JudgeOnline/problem.php?id=2440 我觉得网上很多题解都没说清楚...(还是我太弱了? 首先我们可以将问题转换为判定性问题,即给出 ...
- 彻底明确Android中AIDL及其使用
1.为什么要有AIDL? 不管学什么东西,最先得弄明确为什么要有这个东西.不要说存在即是合理.存在肯定合理,可是你还是没有明确. 对于AIDL有一些人的浅显概念就是,AIDL能够跨进程訪问其它应用程序 ...
- linux_shell_find命令
使用find查找文件 基本格式:find path expression 1.按照文件名查找 (1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个 ...
- iOS 模块化
模块化 1.公共模块 网络层 模型层(基类) 2.mvvm 3.模块化(单元模块,实现单元功能,单元测试) 4.pod 5.路由
- Js 的几种去重(一维)
写的几种数组去重方法: 第一种: [利用排序方法,然后比较当前元素与下一个元素是否相等] function repeat1(arr) { var length = arr.length; var re ...
- 如何隐藏js
前端好像一直会遇到js容易被查看的问题,针对这种情况,如何隐藏js呢? 突发奇想,想到一个办法,如果说一段js只需要执行一次的话 可以尝试在所有js加载操作完毕后把它去掉.看代码 <!DOCTY ...