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

yipeiwu_com5年前Python基础

最近发现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中is与==判断的区别

在 Python 中,比较两个对象(变量)是否相等,可以用 “is” 和 “==” 操作,但它俩有什么区别?什么时候用 “is”,什么时候用 “==” ?在面试时,发现不少候选人很难把这...

WxPython实现无边框界面

wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidge...

Python 类属性与实例属性,类对象与实例对象用法分析

Python 类属性与实例属性,类对象与实例对象用法分析

本文实例讲述了Python 类属性与实例属性,类对象与实例对象用法。分享给大家供大家参考,具体如下: demo.py(类属性,所有实例对象共用类属性): # 定义工具类 继...

详解Django-auth-ldap 配置方法

使用场景 公司内部使用Django作为后端服务框架的Web服务,当需要使用公司内部搭建的Ldap 或者 Windows 的AD服务器作为Web登录认证系统时,就需要这个Django-au...

详解Python的单元测试

如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如...