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

淺析Django中關于session的使用

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

一、Session的概念

cookie是在瀏覽器端保存鍵值對數據,而session是在服務器端保存鍵值對數據
session 的使用依賴 cookie:在使用Session后,會在Cookie中存儲一個sessionid的數據,每次請求時瀏覽器都會將這個數據發(fā)給服務器,服務器在接收到sessionid后,會根據這個值找出這個請求者的Session。

二、Django中session的使用

session鍵值對數據保存

session數據默認保存在django項目的一張數據庫表中(表名為:django_session),保存格式如下:

 三、數據操作:

以鍵值對的格式寫session

request.session['鍵']=值

根據鍵讀取值

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

清除所有session,在存儲中刪除值的部分 

request.session.clear()

清除session數據,在存儲中刪除session的整條數據

request.session.flush()

刪除session中的指定鍵及值,在存儲中只刪除某個鍵及對應的值

del request.session['鍵']

設置session數據有效時間; 如果不設置,默認過期時間為兩周

request.session.set_expiry(value)

  • 如果value是一個整數,則 session數據 將在value秒沒有活動后過期。
  • 如果value為None,那么會話永不過期。
  • 如果value為0,那么用戶會話的Cookie將在用戶的瀏覽器關閉時過期。

四、以下是使用例子:

# 發(fā)短信接口
def sms_send(request):
 # http://localhost:8000/duanxin/duanxin/sms_send/?phone=18434288349
 # 1 獲取手機號
 phone = request.GET.get('phone')
 # 2 生成6位驗證碼
 code = aliyunsms.get_code(6, False)
 # 3 緩存到Redis
 #cache.set(phone,code,60) #60s有效期
 #print('判斷緩存中是否有:',cache.has_key(phone))
 #print('獲取Redis驗證碼:',cache.get(phone))
 #暫時用session處理
 request.session['phone'] = code
 request.session.set_expiry(300) #設置5分鐘后過期
 print('判斷緩存中是否有:', request.session.get('phone'))
 print('獲取session驗證碼:',request.session.get('phone'))
 # 4 發(fā)短信
 result = aliyunsms.send_sms(phone, code)
 return HttpResponse(result)
# 短信驗證碼校驗
def sms_check(request):
 # /duanxin/sms_check/?phone=xxx&code=xxx
 # 1. 電話和手動輸入的驗證碼
 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'}))

總結

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

相關文章

最新評論

黄大仙区| 桃园县| 库尔勒市| 察雅县| 云南省| 右玉县| 扬中市| 奇台县| 吕梁市| 陆川县| 临城县| 临武县| 云林县| 揭阳市| 区。| 临猗县| 莱芜市| 南康市| 吉隆县| 青岛市| 武陟县| 襄汾县| 商河县| 泽州县| 祥云县| 日照市| 衢州市| 太仆寺旗| 清镇市| 宁安市| 榆林市| 宁远县| 长乐市| 东方市| 贵德县| 阿荣旗| 右玉县| 临沭县| 华蓥市| 鄂伦春自治旗| 田阳县|