在django中,关于session的通用设置方法


Posted in Python onAugust 06, 2019

最近发现session的知识有点脱节了,默认设置愣是搞半天,看来忘了不少。今天把一些通用设置贴上来,以备随时回顾。

配置文件中设置默认操作(通用配置):

SESSION_COOKIE_NAME = "sessionid"            
    # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)

    SESSION_COOKIE_PATH = "/"   # Session的cookie保存的路径(默认)
    SESSION_COOKIE_DOMAIN = None  # Session的cookie保存的域名(默认)
    SESSION_COOKIE_SECURE = False  # 是否Https传输cookie(默认)
    SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
    SESSION_COOKIE_AGE = 1209600   # Session的cookie失效日期(2周)(默认)

    SESSION_EXPIRE_AT_BROWSER_CLOSE = False         
    # 是否关闭浏览器使得Session过期(默认)

    SESSION_SAVE_EVERY_REQUEST = False           
     # 是否每次请求都保存Session,默认修改之后才保存(默认)

既然通用配置都贴了,顺带贴上引擎配置部分吧:

Django中默认支持Session,其内部提供了5种类型的引擎供我们使用session:

- 数据库(默认)
- 缓存
- 文件
- 缓存+数据库
- 加密的cookie

缓存类型设置:(在setting.py中)

SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎
SESSION_CACHE_ALIAS = 'default' 
# 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置

文件类型设置:

SESSION_ENGINE = 'django.contrib.sessions.backends.file'  # 引擎
SESSION_FILE_PATH = None                  
# 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir()

缓存+数据库:

SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
#一般用于构建高并发应用的时候才选用,但是其使用效率未必比数据库类型高

加密cookie:

SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'

以上设置全部在setting中设置,当然了,默认使用的数据库在没有指明下,必然是django的sqlite3,除非自己指定一个数据库。

这篇在django中,关于session的通用设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python单例模式实例分析
Jan 14 Python
python实现指定字符串补全空格的方法
Apr 30 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
Python中的变量和作用域详解
Jul 13 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
python仿evething的文件搜索器实例代码
May 13 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
django框架创建应用操作示例
Sep 26 Python
Python时间操作之pytz模块使用详解
Jun 14 Python
Django 对象关系映射(ORM)源码详解
Aug 06 #Python
Django中使用session保持用户登陆连接的例子
Aug 06 #Python
Python中的self用法详解
Aug 06 #Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 #Python
Django 响应数据response的返回源码详解
Aug 06 #Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 #Python
Django中提供的6种缓存方式详解
Aug 05 #Python
You might like
PHP的历史和优缺点
2006/10/09 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php制作动态随机验证码
2015/02/12 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
JavaScript面向对象程序设计教程
2016/03/29 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
Python3字符串学习教程
2015/08/20 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
Python匿名函数及应用示例
2019/04/09 Python
通过cmd进入python的实例操作
2019/06/26 Python
Python批量启动多线程代码实例
2020/02/18 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
如何理解transaction事务的概念
2015/05/27 面试题
公司门卫的岗位职责
2014/02/19 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
影视后期实训报告
2014/11/05 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL