django 笔记12 session
第一步写好函数,然后生成数据库session表
python manage.py makemigrations
python manage.py migrate session原理:
、Session 基于COokie做用户验证时:
不建议添加敏感信息;
优点:服务器压力减小 Cookie是保存在用户浏览器端的键值对
Session是保存在服务器端的键值对 依赖cookie 即随机字符串 session = {
随机字符串1:{
'is_login': True,
'user':'''
'nid':
...
}
随机字符串2:{
'is_login':True,
'user':'''
'nid':
...
}
} a.Session原理
b.Cookie和Session对比
c.Session配置(缺少cache)
d.实例 实现两周的自动登录
-request.session.set_expiry(*)
-SESSION_SAVE_EVERY_REQUEST = True PS: cookie中不设置超时时间, 则表示关闭浏览器自动清除 request.session['k1']
request.session.get('k1',none) request.session['k1'] =
request.session.setdefault('k1', ) request.session.clear() 注销时用
del request.session['k1'] requeset.session.keys()
requeset.session.values() 用户session的随机字符串
request.session.session_key 获取当前人的随机字符串 一般用不着 将所有session失效日期小于当前日期的数据删除
request.session.clear_expired() 检测用户session的随机字符串在数据库中是否存在
request.session.exists("session_key") 基本不用 默认session的超时时间是两周
request.session.set_expiry(value)
*如果value是个整数, session会在些秒数后失效
*如果value是个datatime或timedelta session就会在这个时间后失效
*如果value是0 用户关闭浏览器session就会失效 在settings上设置这句
SESSION_SAVE_EVERY_REQUEST = True 表示页面刷新 超时时间也跟着刷新 原理 session依赖cookie
随机字符串
对服务器中的session操作
request.session.get() #获取值
request.session[x] = x 设置值 request.session.clear() 注销时 -配置文件中设置默认操作:
SESSION_COOKIE_AGE =
SESSION_SAVE_EVERY_REQUEST = True SESSION保存在哪里! 默认在数据库
引擎的配置
SESSION_ENGINE = 'django.contrib.sessions.backends.db'默认数据库#保存在数据库中 当中的是可以换!!
可以选择放在缓存,文件,数据库,加密cookie, 缓存加数据库 如果缓存:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'default' #名字 默认CACHES中没有redis引擎 django默认不支持redis 只有memerch def login(request):
if request.method == "GET":
return render(request,'login.html')
elif request.method == 'POST':
user = request.POST.get('user')
pwd = request.POST.get('pwd')
if user == 'root' and pwd =='':
#生成随机字符串
#写到用户浏览器cookie
#保存到session中
#在随机字符串对应的字典中设置相关内容
request.session['username'] =user #这句话将上面四句话解决
request.session['is_login'] = True
request.session.set_expiry()
return redirect('/index')
else:
return render(request,'login.html') def index(request):
#获取当前用户的随机字符串
#根据随机字符串获取对应的信息
if request.session['is_login']:
return HttpResponse(request.session['username'])
else:
return HttpResponse('no ok')
django 笔记12 session的更多相关文章
- Django - Cookie、Session、自定义分页和Django分页器
2. 今日内容 https://www.cnblogs.com/liwenzhou/p/8343243.html 1. Cookie和Session 1. Cookie 服务端: 1. 生成字符串 2 ...
- webpy使用笔记(二) session/sessionid的使用
webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...
- python 全栈开发,Day76(Django组件-cookie,session)
昨日内容回顾 1 json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() ...
- Django组件-cookie,session
昨日内容回顾: json 轻量级的数据交换格式 在python 序列化方法:json.dumps() 反序列化方法:json.loads() 在JS中: 序列化方法:JSON.stringfy() 反 ...
- SpringMVC:学习笔记(12)——ThreadLocal实现会话共享
SpringMVC:学习笔记(12)——ThreadLocal实现会话共享 ThreadLocal ThreadLocal,被称为线程局部变量.在并发编程的情况下,使用ThreadLocal创建的变量 ...
- MZY项目笔记:session歧路
from my typora MZY项目笔记:session歧路 文章目录 MZY项目笔记:session歧路 那该怎么办? 1. 手动加上cookie的header. 2.自己模拟一个Session ...
- Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
随机推荐
- CSS学习(五)
导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单. 导航栏=链接列表 作为标准的HTML基础一个导航栏是必须的.在我们的例子中我们将建立一个 ...
- HMM(隐马尔可夫),这篇讲的不错
http://www.cnblogs.com/skyme/p/4651331.html
- gdb学习-checkpoint,watch
checkpoint的内容参考: http://blog.chinaunix.net/uid-23629988-id-2943273.html 这一篇主要是checkpoint,在next之前加che ...
- IOS Sqlite用户界面增删改查案例
1.案例简单介绍 对SQLite操作进行了简单的封装,将对数据表操作转变成对对象的操作,并通过UI界面完毕对用户表的增.删.改.查,执行界面例如以下图所看到的 a 2.项目project文件夹 Use ...
- NYOJ 815 三角形【海伦公式】
/* 关键点:海伦公式 解题人:lingnichong 解题时间:2014-10-04 21:48:47 解题体会:海伦公式的使用 */ 三角形 时间限制:1000 ms | 内存限制:65535 ...
- spring boot系统学习(知识点笔记)
一.http的注解配置 1.@SpringBootAplication=@SpringBootConfiguration(其实就是个@Configuration)+@EnableAutoConfigu ...
- leetcode题解||ZigZag Conversion问题
problem: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of r ...
- Chrome浏览器查看SSL证书信息
1.https使用f12打开,选中security 如果F12打不开,可以通过最右端的自定义及控制chrome菜单,打开"更多工具"-->"开发者工具" ...
- 51nod1073-约瑟夫环,递归。
N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数.问最后剩下的人的编号. 例如:N = 3,K = 2.2号先出列,然后是1号,最后剩下的是3号. ...
- Volatile variables
Volatile variables apply another type of memory constraint to individual variables. The compiler oft ...