最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django操作session 的方法

 更新時間:2020年03月09日 09:54:01   作者:笑得好美  
這篇文章主要介紹了Django操作session 的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

session是存放在服務(wù)端的,在django中使用session必須要先在數(shù)據(jù)庫中創(chuàng)建django_session表,session相關(guān)信息都要依賴此表

獲取session

request.session['status']

request.session.get('status')#一般用get,無此鍵返回None不報錯

設(shè)置session

#在使用session之前必須在數(shù)據(jù)庫創(chuàng)建相關(guān)的表(django_session)

#調(diào)用request.session首先會接收請求頭部的cookie是否有sessionid,進行表查詢對比

#如果有重新生成一個sessionid進行覆蓋更新記錄,并將隨機生成的sessionid添加到cookie返回前端

# 沒有則新建存進表中的session_key,同時將字典信息加密自動存進表中的session_data字段

request.session['status']=True  # 存在自動覆蓋

request.session.setdefault('k1',123) # 存在則不設(shè)置

刪除session

request.session.flush()#刪除服務(wù)端的session,刪除當前的會話數(shù)據(jù)并刪除會話的Cookie。

request.session.clear_expired()# 將所有Session失效日期小于當前日期的數(shù)據(jù)刪除,將過期的刪除

del request.session['k1']#django-session表里面同步刪除

request.session.delete()# 刪除當前會話的所有Session數(shù)據(jù)

更多session操作

# 所有 鍵、值、鍵值對

request.session.keys()

request.session.values()

request.session.items()

#獲取sessionid的值

session_key = request.session.session_key 

#檢查會話session的key在數(shù)據(jù)庫中是否存在

request.session.exists("session_key") #session_key就是那個sessionid的值

# 設(shè)置會話Session和Cookie的超時時間

request.session.set_expiry(value)

    * 如果value是個整數(shù),session會在些秒數(shù)后失效。

    * 如果value是個datatime或timedelta,session就會在這個時間后失效。

    * 如果value是0,用戶關(guān)閉瀏覽器session就會失效。

    * 如果value是None,session會依賴全局session失效策略。

Session詳細流程解析

Django中的Session配置

Django中默認支持Session,其內(nèi)部提供了5種類型的Session供開發(fā)者使用。

1. 數(shù)據(jù)庫Session

SESSION_ENGINE = 'django.contrib.sessions.backends.db'  # 引擎(默認)

2. 緩存Session

SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎

SESSION_CACHE_ALIAS = 'default'              # 使用的緩存別名(默認內(nèi)存緩存,也可以是memcache),此處別名依賴緩存的設(shè)置

3. 文件Session

SESSION_ENGINE = 'django.contrib.sessions.backends.file'  # 引擎
SESSION_FILE_PATH = None                  # 緩存文件路徑,如果為None,則使用tempfile模塊獲取一個臨時地址tempfile.gettempdir()

4. 緩存+數(shù)據(jù)庫

SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'    # 引擎

5. 加密Cookie Session

SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'  # 引擎

其他公用設(shè)置項:

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         # 是否關(guān)閉瀏覽器使得Session過期(默認)

SESSION_SAVE_EVERY_REQUEST = False            # 是否每次請求都保存Session,默認修改之后才保存(默認)

總結(jié)

到此這篇關(guān)于Django操作session 的方法的文章就介紹到這了,更多相關(guān)django操作session 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

葫芦岛市| 丹巴县| 兰坪| 太湖县| 麻江县| 合水县| 读书| 镇原县| 秀山| 健康| 岚皋县| 英吉沙县| 靖宇县| 婺源县| 吴江市| 鄂伦春自治旗| 磴口县| 大埔区| 仁怀市| 镇康县| 台北县| 临泉县| 玉屏| 罗定市| 靖西县| 陆良县| 神池县| 三台县| 蓬莱市| 泾源县| 龙门县| 柳江县| 邓州市| 广西| 鄂尔多斯市| 大英县| 商洛市| 怀来县| 汤原县| 昭通市| 长顺县|