国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

在Django的視圖(View)外使用Session的方法

2019-11-25 17:08:40
字體:
供稿:網(wǎng)友

從內(nèi)部來看,每個(gè)session都只是一個(gè)普通的Django model(在 django.contrib.sessions.models 中定義)。每個(gè)session都由一個(gè)隨機(jī)的32字節(jié)哈希串來標(biāo)識(shí),并存儲(chǔ)于cookie中。 因?yàn)樗且粋€(gè)標(biāo)準(zhǔn)的模型,所以你可以使用Django數(shù)據(jù)庫API來存取session。

>>> from django.contrib.sessions.models import Session>>> s = Session.objects.get(pk='2b1189a188b44ad18c35e113ac6ceead')>>> s.expire_datedatetime.datetime(2005, 8, 20, 13, 35, 12)

你需要使用get_decoded() 來讀取實(shí)際的session數(shù)據(jù)。 這是必需的,因?yàn)樽值浯鎯?chǔ)為一種特定的編碼格式。

>>> s.session_data'KGRwMQpTJ19hdXRoX3VzZXJfaWQnCnAyCkkxCnMuMTExY2ZjODI2Yj...'>>> s.get_decoded(){'user_id': 42}

何時(shí)保存Session

缺省的情況下,Django只會(huì)在session發(fā)生變化的時(shí)候才會(huì)存入數(shù)據(jù)庫,比如說,字典賦值或刪除。

# Session is modified.request.session['foo'] = 'bar'# Session is modified.del request.session['foo']# Session is modified.request.session['foo'] = {}# Gotcha: Session is NOT modified, because this alters# request.session['foo'] instead of request.session.request.session['foo']['bar'] = 'baz'

你可以設(shè)置 SESSION_SAVE_EVERY_REQUEST 為 True 來改變這一缺省行為。如果置為True的話,Django會(huì)在每次收到請(qǐng)求的時(shí)候保存session,即使沒發(fā)生變化。

注意,會(huì)話cookie只會(huì)在創(chuàng)建和修改的時(shí)候才會(huì)送出。 但如果 SESSION_SAVE_EVERY_REQUEST 設(shè)置為 True ,會(huì)話cookie在每次請(qǐng)求的時(shí)候都會(huì)送出。 同時(shí),每次會(huì)話cookie送出的時(shí)候,其 expires 參數(shù)都會(huì)更新。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 岳普湖县| 巩留县| 修文县| 虞城县| 雷波县| 高州市| 聊城市| 黄冈市| 怀集县| 广东省| 霍邱县| 青河县| 武川县| 客服| 四子王旗| 板桥市| 二连浩特市| 绍兴市| 铁力市| 尖扎县| 炉霍县| 昌平区| 武义县| 广元市| 临潭县| 青龙| 化德县| 仙游县| 建瓯市| 抚顺县| 禄劝| 堆龙德庆县| 阿尔山市| 东乌珠穆沁旗| 无棣县| 苏尼特左旗| 鄂温| 鄂温| 历史| 康保县| 墨江|