Django中session
发布日期:2022-03-02 13:23:46
浏览次数:27
分类:技术文章
本文共 1488 字,大约阅读时间需要 4 分钟。
Session
Session与cookie类似,session是一次浏览器和服务器的交互,也可以用于用户验证。 session是存储于服务器端 cookie是存储在用户浏览器端 所以cookie不适合存放敏感信息 session可以理解成存放在服务器的字典,每次用户登录发生请求时,session自动生成一串字符串给用户,并在服务器端生成该字符串的字典,这样子在客户端只能看到一串字符串,信息都藏在服务器端该字符串的字典下,更加安全。字符串字典包含着用户的信息及cookie,session也要基于cookie认证,单靠session无法认证session用户认证
下面我们利用session尝试进行用户认证,首先我们简单的编辑好,html输入账号密码然后通过post提交然后在views方法下进行认证,这里我们简单的认证下账号密码,对的话即设置session,我们要做的是1.生成随机字符串,2.写到用户浏览器cookie中,3.保存到session中,4.在随机字符串对应字典设置相关内容,这四步通过一句话即可解决 request.session[‘key’]=value 成功登录之后来到index页面通过 request.session[‘key’]获取value 我前面设置了is_login为True,所以下图直接if 默认为True 至此我们成功的用session完成了用户认证sesssion存储
session不仅仅可以放在数据库,只是默认放在数据库,他可以放在缓存,文件,缓存+数据库,以及加密cookie中,相对来说我们小的用数据库和文件就足够了1.缓存session
在Django Setting中添加下列代码即可 存储在缓存中SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎 SESSION_CACHE_ALIAS = 'default' # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置
2.文件Session
setting中配置如下代码SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎SESSION_FILE_PATH = os.path.join(BASE_DIR,'files')则存储在目录下的files文件下,此处填路径
3.缓存+数据库Session
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 引擎
4.加密cookie
也就是存储在cookie中,不过是加密的存储SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' # 引擎
session默认配置
下图为session的默认配置,不修改的情况就按照下图配置,如倒数第二个为当关闭浏览器时关闭session,使session过期,默认是不开启的,session默认过期时间为2周 也就是1209600秒 倒数第一个是每次请求页面是否保存session,例如重新设置了session的过期时间的话,每次请求就会刷新session过期时间 超时时间request.session.set_expiry(值)设置超时时间 单位为秒
转载地址:https://blog.csdn.net/WOSHIBEIZHE/article/details/120916228 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年03月27日 14时10分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java监控其他服务器运行状态_windows服务器监控多个tomcat运行状态
2019-04-21
java构造函数有什么用_java构造函数有什么用,怎么用
2019-04-21
mysql 匹配 隔开的_按空格分隔关键字并搜索MySQL数据库
2019-04-21
java factory用法_怎样使用Java实现Factory设计模式
2019-04-21
盾神与砝码称重java_[蓝桥杯][算法提高VIP]盾神与砝码称重
2019-04-21
java输出狗的各类信息_第九章Java输入输出操作
2019-04-21
java notify怎么用_java 如何使用notify()
2019-04-21
java metrics 怎么样,Java metrics
2019-04-21
普朗克公式matlab,用MATLAB实现普朗克函数积分的快捷计算.pdf
2019-04-21
swoolec+%3c?php,PHP+Swoole并发编程的魅力
2019-04-21
php 404配置,phpcms如何配置404
2019-04-21
matlab wash矩阵产生,洗衣机净衣效能与衣损程度的关系分析
2019-04-21
python多线程实现kmeans,3种方式实现python多线程并发处理
2019-04-21
matlab 变量不存在,matlab程序运行时提示变量未定义
2019-04-21