在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创建和删除目录的方法
Apr 29 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
CentOS下Python3的安装及创建虚拟环境的方法
Nov 28 Python
详解python读取和输出到txt
Mar 29 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python加载自定义词典实例
Dec 06 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python 实现字符串下标的输出功能
Feb 13 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
Python requests用法和django后台处理详解
Mar 19 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编程中10个最常见的错误
2014/08/08 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python实现移位加密和解密
2019/03/22 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
python中删除某个元素的方法解析
2019/11/05 Python
python中栈的原理及实现方法示例
2019/11/27 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
大学军训感言300字
2014/03/09 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
教师个人年终总结
2015/02/11 职场文书
学校运动会感想
2015/08/10 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL