国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Django > django如何使用session

django如何使用session

session

头像

silencement

2020-09-07 14:03:505101浏览 · 0收藏 · 0评论

首先确认在 MIDDLEWARE_CLASSES中确保它包含'django.contrib.sessions.middleware.SessionMiddleware',如果不想使用session会话可以删除这一项.

配置session引擎

默认情况下,django框架会将session数据存储在数据库(django框架中默认创建的model里有存储session的model,这也是为什么在使用前需执行创建数据库操作的原因,使用django.contrib.sessions.models.Session模型)中。从数据库相比其他存储session的方式慢一点,所以可以配置django来存储session到文件系统或者缓存中。

使用数据库支持的session

如果你想用数据库存储session,需要添加'django.contrib.sessions' 到你的INSTALLED_APPS设置中。并且创建存储session数据的表。

使用基于缓存的session

使用缓存存储session,在性能上会比使用数据库更快。

使用缓存来存储session必须先进行配置缓存

缺点:本地内存使用缓存不能长时间保留数据,所以不是好的选择,而且直接使用文件或者数据库比文件或数据库缓存速度快。本地缓存系统不是多进程安全的。 

使用CACHES中可以定义多个缓存,Django使用默认缓存,若要用其他缓存,可以设置SESSIONCACHEALIAS为该缓存的名字

配置好缓存之后,有两种缓存可供选择

对于简单的缓存session,可以设置SESSIONENGINE为'django.contrib.sessions.backends.cache',这正方式就是将数据缓存在内存中,不做持久化存储,如果缓存填满或者缓存服务器重启,缓存数据就可能会被清理掉

持久化数据缓存就要使用数据库,设置SESSIONENGINE为'django.contrib.sessions.backends.cacheddb',在写数据的时候使用缓存,读取时先读缓存中的数据,如果缓存中数据被清理了,就从数据库中读取

两种缓存方式都很快,简单的更快一点,因为没有做数据持久化

特殊说明:在1.7 版之前,cacheddb 永远使用default缓存而不是SESSIONCACHEALIAS。

使用缓存例子:

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSIONCACHEALIAS = 'default'#表示使用缓存的别名,在CACHES中寻找,下面有default和db1两种选择 
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': [
'172.19.26.240:11211',
'172.19.26.242:11211',
]
},
'db1': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': [
'172.19.26.240:11211',
'172.19.26.242:11211',
]
}
}

附加内容

CACHES的格式,默认:
{
'default':{
'BACKEND':'django.core.cache.backends.locmen.LocMemCache',
}
}


一个字典包含所有缓存要使用的设置它是一个嵌套字典,其内容将高速缓存别名映射到包含单个高速缓存的选项的字典中。

CACHES设置必须配置‘default’缓存;还可以指定任何数量的附加高速缓存。如果您正在使用本地内存高速缓存之外的其他高速缓存后端,或者需要定义多个高速缓存,这就需要添加其他高速缓存项。以下高速缓存选项可用。
BACKEND
默认值:''(空字符串)
要使用的缓存后端。内置高速缓存后端是:

'django.core.cache.backends.db.DatabaseCache'
'django.core.cache.backends.dummy.DummyCache'
'django.core.cache.backends.filebased.FileBasedCache'
'django.core.cache.backends.locmem.LocMemCache'
'django.core.cache.backends.memcached.MemcachedCache'
'django.core.cache.backends.memcached.PyLibMCCache'


通过将BACKEND设置为缓存后端类的完全限定路径(即mypackage.backends.whatever.WhateverCache),您可以使用未随Django提供的缓存后端。 )。

基于文件的session

使用基于文件的session,使用SESSIONENGINE为'django.contrib.sessions.backends.file',使用SESSIONFILE_PATH设置文件的位置,如果不设会使用默认存储位置为,它的默认值来自tempfile.gettempdir()的输出,大部分情况是/tmp

使用基于Cookie的session

要使用基于Cookie 的会话,请设置SESSIONENGINE 为"django.contrib.sessions.backends.signedcookies"。此时,会话数据的存储将使用Django 的加密签名 工具和SECRET_KEY 设置。
建议保留SESSIONCOOKIEHTTPONLY 设置为True 以防止从JavaScript 中访问存储的数据。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

坤坤寒进桃子里在线看歌词 | 女生给男生吃小头头 | 《魅魔之耻》1~4集免费看| 男人吸吮完乳房应该怎么处理| 美国性伦1980禁忌禁忌| 小妇人在线观看免费版电视剧| 小妈妈2免费观看完整电视剧| 免费B站看大片真人电视剧| 美女和帅哥一起努力生产豆浆的视.. | 丈夫不在家儿媳想老公的背景故事| 绝美儿媳妇林曼晏| 免费观看60分钟高清电视剧| 欧美精品99久久久啪啪| CSGO未满十八岁能玩多久 | 日本簧片在线观看| 《疯狂72小时》韩剧| 成全高清免费观看MV| 三角泳衣| 生孩子| 两个奶头被吃得又翘又肿特别疼| 妈妈你真棒里面的插曲叫什么| 小叔子看亲嫂2什么时候开播| 成品免费PPT网站入口| 苍井空| 打扑牌不盖被子怎么办| 太粗大深好疼快拔出去| 疯狂一家亲TXT全文阅读| 日韩电影在线观看高清版电视剧| 林喜宝爸爸叫李叔叔到家是哪一集| 泰山与珍妮HD未删减| 《家访的老师》动漫在线观看| 双腿无力合拢红肿外翻男生原因 | 《完美邻居2》电影在线观看| 45岁老阿姨喷了三次尿素乳育| 《完美的妻子5》第一期韩剧| 法国色情《监狱宝贝3| 《温柔的大姐姐》动漫免费观看| 情趣内衣秀春光| 《请好好疼爱里面》免费观看| 自己怎么玩隐私位置游戏 | 摧花狂魔全文阅读免费