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

淺析Django中關(guān)于session的使用

 更新時(shí)間:2019年12月30日 17:53:56   作者:子欽加油  
這篇文章主要介紹了Django下關(guān)于session的使用,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、Session的概念

cookie是在瀏覽器端保存鍵值對(duì)數(shù)據(jù),而session是在服務(wù)器端保存鍵值對(duì)數(shù)據(jù)
session 的使用依賴(lài) cookie:在使用Session后,會(huì)在Cookie中存儲(chǔ)一個(gè)sessionid的數(shù)據(jù),每次請(qǐng)求時(shí)瀏覽器都會(huì)將這個(gè)數(shù)據(jù)發(fā)給服務(wù)器,服務(wù)器在接收到sessionid后,會(huì)根據(jù)這個(gè)值找出這個(gè)請(qǐng)求者的Session。

二、Django中session的使用

session鍵值對(duì)數(shù)據(jù)保存

session數(shù)據(jù)默認(rèn)保存在django項(xiàng)目的一張數(shù)據(jù)庫(kù)表中(表名為:django_session),保存格式如下:

 三、數(shù)據(jù)操作:

以鍵值對(duì)的格式寫(xiě)session

request.session['鍵']=值

根據(jù)鍵讀取值

request.session.get('鍵',默認(rèn)值)
# 或者
request.session['鍵']

清除所有session,在存儲(chǔ)中刪除值的部分 

request.session.clear()

清除session數(shù)據(jù),在存儲(chǔ)中刪除session的整條數(shù)據(jù)

request.session.flush()

刪除session中的指定鍵及值,在存儲(chǔ)中只刪除某個(gè)鍵及對(duì)應(yīng)的值

del request.session['鍵']

設(shè)置session數(shù)據(jù)有效時(shí)間; 如果不設(shè)置,默認(rèn)過(guò)期時(shí)間為兩周

request.session.set_expiry(value)

  • 如果value是一個(gè)整數(shù),則 session數(shù)據(jù) 將在value秒沒(méi)有活動(dòng)后過(guò)期。
  • 如果value為None,那么會(huì)話(huà)永不過(guò)期。
  • 如果value為0,那么用戶(hù)會(huì)話(huà)的Cookie將在用戶(hù)的瀏覽器關(guān)閉時(shí)過(guò)期。

四、以下是使用例子:

# 發(fā)短信接口
def sms_send(request):
 # http://localhost:8000/duanxin/duanxin/sms_send/?phone=18434288349
 # 1 獲取手機(jī)號(hào)
 phone = request.GET.get('phone')
 # 2 生成6位驗(yàn)證碼
 code = aliyunsms.get_code(6, False)
 # 3 緩存到Redis
 #cache.set(phone,code,60) #60s有效期
 #print('判斷緩存中是否有:',cache.has_key(phone))
 #print('獲取Redis驗(yàn)證碼:',cache.get(phone))
 #暫時(shí)用session處理
 request.session['phone'] = code
 request.session.set_expiry(300) #設(shè)置5分鐘后過(guò)期
 print('判斷緩存中是否有:', request.session.get('phone'))
 print('獲取session驗(yàn)證碼:',request.session.get('phone'))
 # 4 發(fā)短信
 result = aliyunsms.send_sms(phone, code)
 return HttpResponse(result)
# 短信驗(yàn)證碼校驗(yàn)
def sms_check(request):
 # /duanxin/sms_check/?phone=xxx&code=xxx
 # 1. 電話(huà)和手動(dòng)輸入的驗(yàn)證碼
 phone = request.GET.get('phone')
 code = request.GET.get('code')
 # 2. 獲取redis中保存的code
 #print('緩存中是否包含:',cache.has_key(phone))
 #print('取值:',cache.get(phone))
 #cache_code = cache.get(phone)
 #獲取session里的code
 print('取值:', request.session.get('phone'))
 cache_code = request.session.get('phone')
 # 3. 判斷
 if code == cache_code:
 return HttpResponse(json.dumps({'result':'OK'}))
 else:
 return HttpResponse(json.dumps({'result':'False'}))

總結(jié)

以上所述是小編給大家介紹的Django下關(guān)于session的使用,希望對(duì)大家有所幫助!

相關(guān)文章

  • Python實(shí)現(xiàn)PDF頁(yè)面的刪除與添加功能

    Python實(shí)現(xiàn)PDF頁(yè)面的刪除與添加功能

    在處理PDF文檔的過(guò)程中,我們時(shí)常會(huì)需要對(duì)PDF文檔中的頁(yè)面進(jìn)行編輯操作的情況,如插入和刪除頁(yè)面,通過(guò)添加和刪除PDF頁(yè)面,我們可以增加內(nèi)容或?qū)Σ恍枰膬?nèi)容進(jìn)行刪除,本文將介紹如何使用Python代碼實(shí)現(xiàn)在PDF文檔中添加和刪除頁(yè)面
    2024-04-04
  • Python實(shí)現(xiàn)將列表拆分為大小為N的塊

    Python實(shí)現(xiàn)將列表拆分為大小為N的塊

    這篇文章主要為大家整理了一些常見(jiàn)的Python實(shí)現(xiàn)將列表拆分為大小為N的塊的方法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,有需要的小伙伴可以了解下
    2023-09-09
  • python Pandas時(shí)序數(shù)據(jù)處理

    python Pandas時(shí)序數(shù)據(jù)處理

    這篇文章主要介紹了python Pandas時(shí)序數(shù)據(jù)處理,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Python中報(bào)錯(cuò) “TypeError: ‘list‘ object is not callable”問(wèn)題及解決

    Python中報(bào)錯(cuò) “TypeError: ‘list‘ object is&n

    這篇文章主要介紹了Python中報(bào)錯(cuò) “TypeError: ‘list‘ object is not callable”問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python關(guān)于迭代器的使用

    Python關(guān)于迭代器的使用

    這篇文章主要介紹了Python關(guān)于迭代器的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python常用的魔法方法(雙下劃線(xiàn))

    python常用的魔法方法(雙下劃線(xiàn))

    本文介紹一下python中常用的魔法方法以及面向?qū)ο笾蟹浅V匾膯卫J?。具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Python smallseg分詞用法實(shí)例分析

    Python smallseg分詞用法實(shí)例分析

    這篇文章主要介紹了Python smallseg分詞用法,以實(shí)例形式分析了Python實(shí)現(xiàn)分析的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python 如何去除字符串頭尾的多余符號(hào)

    python 如何去除字符串頭尾的多余符號(hào)

    這篇文章主要介紹了python 如何去除字符串頭尾的多余符號(hào),在python開(kāi)發(fā)中經(jīng)常會(huì)遇到這樣的需求,今天小編通過(guò)實(shí)例代碼給大家講解,需要的朋友可以參考下
    2019-11-11
  • python實(shí)現(xiàn)的多線(xiàn)程端口掃描功能示例

    python實(shí)現(xiàn)的多線(xiàn)程端口掃描功能示例

    這篇文章主要介紹了python實(shí)現(xiàn)的多線(xiàn)程端口掃描功能,結(jié)合實(shí)例形式分析了Python基于socket的端口掃描具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • Python使用RSA庫(kù)加密和解密

    Python使用RSA庫(kù)加密和解密

    這篇文章介紹了Python使用RSA庫(kù)加密和解密的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論