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中同样是一 ...
随机推荐
- ip: either "dev" is duplicate, or "type" is garbage
Driver installation Nothing has to be done for the APF51Dev, the APF28Dev and the APF6Dev. For the A ...
- SAN和NAS的区别: 层次不一样
SAN : STORAGE AREA NETWORK 存储区域网络 NAS : NETWORK ATTACHED STORAGE 网络附加存储 NAS不一定是盘阵,一台普通的主机就可以做出NAS, ...
- 在linux 列出 超级用户 普通用户和 系统用户
#!/bin/bash echo Please select which list you want to print echo "1. admin (enter 1)" echo ...
- jquery1.7+里不能用checked获得checkbox的属性
jquery1.7+以后用.attr('checked')得到的,都是undefined. 结论就是.attr()不能用于普通对象,数组,窗口,文档.要重新获取改变的dom属性,需要用.prop()方 ...
- 关于Unity中的transform组件(一)
一.transform组件用途 1.维护场景树 2.对3D物体的平移,缩放,旋转 二.场景树定义 在Hierarchy视图中显示的: 一个game_scene场景,下面有Main Camera节点,D ...
- MRF能量优化
一个外国博客,写的比较清晰 http://nghiaho.com/?page_id=1366 MRF优化牛人 重庆大学的教授 1 http://qianjiye.de/2015/09/reparame ...
- 分页技巧__在项目中使用QueryHelper辅助对象实现分页效果
分页技巧__在项目中使用QueryHelper辅助对象实现分页效果 QueryHelper 用于辅助拼接HQL语句 addCondition("t.type=?", "精 ...
- 常用快捷键—Webstorm入门指南
提高代码编写效率,离不开快捷键的使用,Webstorm拥有丰富的代码快速编辑功能,你可以自由配置功能快捷键. 快捷键配置 点击“File”-> “settings” Webstorm预置了其他编 ...
- open() 函数以 w+ 模式打开文件
这种模式打开文件时,会先清空文件,然后才执行读写操作,当我们要执行读操作时,需要通过 seek() 方法将读取指针移到前面,才能读取内容 [root@localhost ~]$ cat 1.txt # ...
- 非IE图片上传预览
$("#uploadFiles").change(function (e) { if (e.target.files) { ...