欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django操作session 的方法

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

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

獲取session

request.session['status']

request.session.get('status')#一般用get,無(wú)此鍵返回None不報(bào)錯(cuò)

設(shè)置session

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

#調(diào)用request.session首先會(huì)接收請(qǐng)求頭部的cookie是否有sessionid,進(jìn)行表查詢(xún)對(duì)比

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

# 沒(méi)有則新建存進(jìn)表中的session_key,同時(shí)將字典信息加密自動(dòng)存進(jìn)表中的session_data字段

request.session['status']=True  # 存在自動(dòng)覆蓋

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

刪除session

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

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

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

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

更多session操作

# 所有 鍵、值、鍵值對(duì)

request.session.keys()

request.session.values()

request.session.items()

#獲取sessionid的值

session_key = request.session.session_key 

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

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

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

request.session.set_expiry(value)

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

    * 如果value是個(gè)datatime或timedelta,session就會(huì)在這個(gè)時(shí)間后失效。

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

    * 如果value是None,session會(huì)依賴(lài)全局session失效策略。

Session詳細(xì)流程解析

Django中的Session配置

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

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

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

2. 緩存Session

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

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

3. 文件Session

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

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

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

5. 加密Cookie Session

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

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

SESSION_COOKIE_NAME = "sessionid"            # Session的cookie保存在瀏覽器上時(shí)的key,即:sessionid=隨機(jī)字符串(默認(rèn))

SESSION_COOKIE_PATH = "/"                # Session的cookie保存的路徑(默認(rèn))

SESSION_COOKIE_DOMAIN = None               # Session的cookie保存的域名(默認(rèn))

SESSION_COOKIE_SECURE = False              # 是否Https傳輸cookie(默認(rèn))

SESSION_COOKIE_HTTPONLY = True              # 是否Session的cookie只支持http傳輸(默認(rèn))

SESSION_COOKIE_AGE = 1209600               # Session的cookie失效日期(2周)(默認(rèn))

SESSION_EXPIRE_AT_BROWSER_CLOSE = False         # 是否關(guān)閉瀏覽器使得Session過(guò)期(默認(rèn))

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

總結(jié)

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

相關(guān)文章

  • 一文詳解NumPy簡(jiǎn)單算術(shù)及其他運(yùn)算的實(shí)現(xiàn)

    一文詳解NumPy簡(jiǎn)單算術(shù)及其他運(yùn)算的實(shí)現(xiàn)

    你可以直接在 NumPy 數(shù)組之間使用算術(shù)運(yùn)算符 + - * /,但本節(jié)討論了一個(gè)擴(kuò)展,其中我們有函數(shù)可以接受任何類(lèi)似數(shù)組的對(duì)象,如列表、元組等,并根據(jù)條件執(zhí)行算術(shù)運(yùn)算,文中通過(guò)代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Python之標(biāo)點(diǎn)符號(hào)string.punctuation的使用

    Python之標(biāo)點(diǎn)符號(hào)string.punctuation的使用

    Python的string模塊提供了一個(gè)方便的屬性string.punctuation,其中包含所有ASCII標(biāo)點(diǎn)符號(hào)字符,這使得在處理和識(shí)別字符串中的標(biāo)點(diǎn)符號(hào)時(shí)非常有用,可以通過(guò)簡(jiǎn)單的in關(guān)鍵字來(lái)檢測(cè)字符是否為標(biāo)點(diǎn)
    2024-09-09
  • 利用python畫(huà)一顆心的方法示例

    利用python畫(huà)一顆心的方法示例

    最近工作中要用到python的統(tǒng)計(jì)和繪圖功能,無(wú)意間搜索到了這個(gè),還挺有意思的。就分享給大家,下面這篇文章主要介紹了利用python畫(huà)一顆心的方法示例,需要的朋友可以參考借鑒,一起來(lái)看看吧。
    2017-01-01
  • Python 爬取攜程所有機(jī)票的實(shí)例代碼

    Python 爬取攜程所有機(jī)票的實(shí)例代碼

    這篇文章主要介紹了Python 爬取攜程所有機(jī)票功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • 淺談python requests 的put, post 請(qǐng)求參數(shù)的問(wèn)題

    淺談python requests 的put, post 請(qǐng)求參數(shù)的問(wèn)題

    今天小編就為大家分享一篇淺談python requests 的put, post 請(qǐng)求參數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • pycharm中如何使用快捷鍵按出代碼提示框

    pycharm中如何使用快捷鍵按出代碼提示框

    這篇文章主要介紹了pycharm中如何使用快捷鍵按出代碼提示框問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • python 匿名函數(shù)相關(guān)總結(jié)

    python 匿名函數(shù)相關(guān)總結(jié)

    這篇文章主要介紹了python 匿名函數(shù)的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python-VTK隱式函數(shù)屬性選擇和剪切數(shù)據(jù)

    Python-VTK隱式函數(shù)屬性選擇和剪切數(shù)據(jù)

    這篇文章主要介紹了Python-VTK隱式函數(shù)屬性選擇和剪切數(shù)據(jù),VTK,是一個(gè)開(kāi)放資源的免費(fèi)軟件系統(tǒng),主要用于三維計(jì)算機(jī)圖形學(xué)、圖像處理和可視化,下面文章主題相關(guān)詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • OpenCV圖像分割之分水嶺算法與圖像金字塔算法詳解

    OpenCV圖像分割之分水嶺算法與圖像金字塔算法詳解

    本文主要介紹了OpenCV中的分水嶺算法、圖像金字塔對(duì)圖像進(jìn)行分割的方法。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定的幫助,需要的可以參考一下
    2021-12-12
  • pd.drop_duplicates刪除重復(fù)行的方法實(shí)現(xiàn)

    pd.drop_duplicates刪除重復(fù)行的方法實(shí)現(xiàn)

    drop_duplicates 方法實(shí)現(xiàn)對(duì)數(shù)據(jù)框 DataFrame 去除特定列的重復(fù)行,本文主要介紹了pd.drop_duplicates刪除重復(fù)行的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論