博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django-cookiesession
阅读量:4972 次
发布时间:2019-06-12

本文共 1466 字,大约阅读时间需要 4 分钟。

manage.py 命令行工具,用于Django进行不同方式交互的交互脚本

 

重定向:

从一个地址转到另外一个地址

redircet(路径)

 

在django中就是从一个视图,转到另外一个视图

 

当一个逻辑处理完后,不需要显示数据,而是转回到其他页面。这时使用重定向

 

无状态:

浏览器请求服务器是无状态的

 

无状态指一次用户请求的时候,服务器无法知道此用户之前做过什么,每一次的请求都是新的

 

因为浏览器与服务器是使用的socket套接字进行通信的,服务器将这次请求的结果返回给客户端之后会关闭当前套接字,而且服务器也会在处理完页面后销毁这个对象

 

 

cookie:

在浏览器端进行状态报出

 

弊端:不可以存储敏感信息

 

最典型的应用是判断注册用户是否已经登录网站

购物车

 

cookie是存储在浏览器的一端纯文本信息,不同域名的cookie是不能互相访问的

 

作用:用于浏览器和服务器间做状态保持用的

 

状态保持就是:当你访问一个网站的时候他可以知道你的一些信息,比如之前是否注册或者登陆过本网站,服务器通过判断就能得到这些信息

 

当服务器在响应数据给浏览器的时候,可以设置cookie返回给客户端,客户端在收到cookie后会将其保存到本地,在下次在访问该服务器时会将所有cookie信息提交给服务器

 

读取cookie:

request.COOKIES 返回的是一个字典

设置cookie:

response.set_cookie(key,value)

 

删除

response.delete_cookie(key)

 

session:

对于一些重要的敏感信息,不能存储在,浏览器中,而此时就要用到session,他是在服务器端就行状态保持,并且session依赖于cookie

 

django已经默认启用了session,已经默认在应用中安装了session应用 ,并且sesion数据已经默认的存储方式已选为数据库 。所以只要使用HttpRequest对象的session属性,就可以进行对写操作

 

 设置session的时候是通过HttoRequest对象的ression属性进行设置,设置完毕后会将其存入数据库中,响应给客户端的数据时,会带这sessionid给客户端,客户端吧sesionid写入cookie数据中记录这个cookeid

 

设置:

request.session[‘键’] = 值

 

读取

request.session.get(‘键’,默认值)

 

删除指定键的值

del request.session[‘键’]

 

清楚所有键的值

request.session.clear()

 

清楚session数据,在存储中删除所有键及对应的值,形成空表

request.sessipn.flush()

 

设置会话的超时时间

request.session.set_expity(value)

 

所有请求者的Session都会存储在服务器中,服务器如何区分请求者和Session数据的对应关系呢?

答案:在使用Session后,会在Cookie中存储一个sessionid的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到sessionid后,会根据这个值找出这个请求者的Session

 

2. 存储Session时,键与Cookie中的`sessionid`相同,值是开发人员设置的键值对信息,进行了base64编码,过期时间由开发人员设置

转载于:https://www.cnblogs.com/machaos/p/8402144.html

你可能感兴趣的文章
大学里如何学习 ?
查看>>
Oracle命令类别
查看>>
js面试题:关于数组去重的四种方法总结
查看>>
Linux内核分析(三)----初识linux内存管理子系统
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>
css选择器
查看>>
看懂下面C++代码才说你理解了C++多态虚函数!
查看>>
ASP.NET上传下载文件
查看>>
Galaxy Nexus 全屏显示-隐藏Navigation Bar
查看>>
Spring中使用Velocity模板
查看>>
上周热点回顾(8.18-8.24)
查看>>
Feature toggle
查看>>
day02
查看>>
gvim 配置Pydiction
查看>>
Linux安装指定mysql版本
查看>>
分布式锁的三种实现方式
查看>>
poj 2109 pow函数也能这么用?p的开n次方
查看>>
Oracle database link
查看>>
清北学堂2017NOIP冬令营入学测试P4749 F’s problem(f)
查看>>