Django中cookie和session的存、取、删除
生活随笔
收集整理的這篇文章主要介紹了
Django中cookie和session的存、取、删除
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Django中:
cookie的存:
cookie的取:
username = request.COOKIES.get('username') #username = request.get_signed_cookie('username',salt='asdasd') #獲取帶簽名的cookie(鹽要相同,不然拿不到) password = request.COOKIES.get('password')cookie的刪除:
response = HttpResponse('清除成功') #改成重定向等都可以 response.delete_cookie('username') response.delete_cookie('password') return responsePS:不設(shè)置過(guò)期時(shí)間的話(huà),默認(rèn)關(guān)閉瀏覽器就失效
session的存:
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' request.session['username'] = username #上面這一句代碼完成了以下事情: #1、生成隨機(jī)字符串 #2、將隨機(jī)字符串寫(xiě)到用戶(hù)瀏覽器cookie #3、將隨機(jī)字符串保存到服務(wù)器session #4、在服務(wù)器隨機(jī)字符串對(duì)應(yīng)的字典中設(shè)置相關(guān)內(nèi)容 request.session['password'] = password return HttpResponse('登陸成功')session的取:
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' username = request.session.get('username') #username = request.session['username'] #兩種方式都可以取,但是這種如果沒(méi)取到會(huì)報(bào)錯(cuò) password = request.session.get('password')session的刪除:
request.session.flush() #刪除所有session #del request.session['username'] #刪除key為username的session return HttpResponse('清除成功')PS:在django中,session默認(rèn)的過(guò)期時(shí)間是兩周
數(shù)據(jù)庫(kù): SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默認(rèn)) 緩存: SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎 SESSION_CACHE_ALIAS = 'default' # 使用的緩存別名(默認(rèn)內(nèi)存緩存,也可以是memcache),此處別名依賴(lài)緩存的設(shè)置 文件: SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎 SESSION_FILE_PATH = None # 緩存文件路徑,如果為None,則使用tempfile模塊獲取一個(gè)臨時(shí)地址tempfile.gettempdir() # 如:/var/folders/d3/j9tj0gz93dg06bmwxmhh6_xm0000gn/T 緩存+數(shù)據(jù)庫(kù): SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 引擎 - 配置文件中設(shè)置默認(rèn)操作(通用配置):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é)
以上是生活随笔為你收集整理的Django中cookie和session的存、取、删除的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Django中自定义实现RESTful
- 下一篇: Django中的反向解析