在django中,关于session的通用设置方法
最近发现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的通用设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。