1. 程式人生 > >django處理cookies和session

django處理cookies和session

cookie和session是個啥,鬼畜都知道,所以不說鳥。直接開記錄在djano框架下面如何操作cookie和session。

存取cookies

讀取cookies很簡單,因為讀取cookies可以使用HttpResquest,每一個HttpResquest物件都有一個COOKIES物件,可以用它讀取任何瀏覽器傳送給檢視的cookies。

因為每個檢視函式的第一個引數都是request,其實它就是一個HtppResquest物件,所以直接使用request.COOKIES讀取cookies就好。

寫COOKIES就使用HttpResquest物件的set_cookie()方法,set_cookie有一些可選引數來指定一些特殊操作。

session操作

開啟session(他是通過一箇中間件和一個模型來實現的)。

1.編輯MIDDLEWARE_CLASSES,確保裡面已經包含了django.contrib.sessions.middleware.SessionMiddleware。

2.確認INSTALLED_APPS,確保裡面已經含有一個叫django.contrib.sessions的鬼畜。

其實這兩項,一般預設就有了,前提是你的專案是用python manage.py startproject mysite來建立的。

檢視中使用session

SessionMiddleware被啟用以後,每個檢視函式的第一個引數request(也就是HttpResquest物件)都有一個session屬性,它和cookie一樣,也是個字典型的物件,可以像使用普通字典那樣使用。

在操作session時候的一些忌諱:

1.使用正常的的字串來訪問字典,而不是整數,物件,或者其他什麼很討厭的東西。

2.key值最好不要使用下劃線來命名,因為有些是保留的,但是一般也用不到。

3.不要用一個新物件來替代request.session。

4.不要向request.session中存屬性。

測試COOKIE

當然鳥,有些賤人就是喜歡關閉cookie,所以作為蛋疼的web開發者們,想在人家機器上儲存一個cookie都得先test一下。

可以使用request.session.set_test_cookie()來測試,讓後在其他的檢視中使用request.session.test_cookie_worked(),兩次測試是不在同一個檢視函式中的,為什麼要這樣,跟cookie的工作原理有關。

delete_test_cookie可以用來刪除用於測試而設定的cookie。

在檢視之外使用session

我們可以使用django的資料庫API來存取session,我們使用get_decoded來讀取實際的session資料。

有效期

如果SESSION_EXPIRE_AT_BROWSER_CLOSE設定為false,那麼cookie在瀏覽器中儲存週期是SESSION_COOKIE_AGE秒。如果設定為true,那麼關閉瀏覽器時候,就會失效。

相關推薦

django處理cookiessession

cookie和session是個啥,鬼畜都知道,所以不說鳥。直接開記錄在djano框架下面如何操作cookie和session。 存取cookies 讀取cookies很簡單,因為讀取cookies可以使用HttpResquest,每一個HttpResquest物件都有一個

Django簡單設定cookiessession

一、Cookie   cookie及特點   Cookie是由伺服器(網站)生成的,儲存在瀏覽器端的 鍵值對資料(通常經過加密) 在響應請求時,伺服器會把生成 Cookie資料 發給瀏覽器,瀏覽器會自動儲存(前提:瀏覽器開啟了coo

Django之cookiesession

name resp wrap sign ide 服務端 rgs err response 一、cookie 保存在客戶端瀏覽器上的鍵值對 1.獲取cookie 1 request.COOKIES[‘key‘] 2 request.get_signed_cookie(key

Django中Cookie Session

登錄 been close rip response 獲取cookie default rect dex Django中操作Cookie Cookie 就是保存在瀏覽器端的鍵值對      1. 服務端可以在瀏覽器上設置COOKIE 保存在瀏覽器上的   2. 每次

[py][mx]django的cookiesession操作

即使 turn 瀏覽器 會話 ext 問題 控制 put 實現 這玩意可以實現7天免登錄等功能. session和cookie機制原理和交互過程 交互過程 ① 客戶端訪問,無服務端寫入的Cookie ② 服務端的Cookie寫入瀏覽器 ③ 瀏覽器解析Cookie,保存至瀏覽

6 Cookies Session

code log Coding cookie對象 ken htm cti except tex 1.HTTP協議無狀態帶來的問題 http協議在一個會話中的多個請求之間是不能共享數據的 (實際是需要在一個會話的多個請求共享數據) 會話跟蹤技術:在一個會話共

Django中CookieSession的基本配置以及設置

Cookie Session Django中Cookie和Sessi Cookie1、獲取Cookie:request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt=''

cookiessession

use 加密 站點 ie6 存儲 strong 鏈接 lan 服務 1,簡單說說Cookie是什麽吧,為什麽需要Cookie Cookie 是一小段文本信息,伴隨著用戶請求在 Web 服務器和瀏覽器之間傳遞。Cookie 包含每次用戶訪問站點時 Web 應用程序都可以讀取的

【PHP基礎】cookiessession

lex inpu form display ews action port 分配 有一個 1.Cookies cookie 常用於識別用戶。cookie 是服務器留在用戶計算機中的小文件。每當相同的計算機通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,

Django之cookie session

info png end sig expire value 服務 django style 一、 1、cookie的由來!!!     由於HTTP協議是無狀態的,既每一次的請求都是獨立的,他不會因為你之前來過,就記住你,所以每次瀏覽器去訪問服務器的時候,都是一個全新的

CookiesSession的區別理解

ogl 用戶創建 settings 網絡服務器 加密 unicode 直接 安全 編碼 Cookies和Session的區別和理解 cookie機制 Cookies是服務器在本地機器上存儲的小段文本並隨每一個請求發送至同一個服務器。IETF RFC 2965 HTTP St

cookies session的區別?

cookies 和 session的區別? cookies-----客戶端 是針對每一個網站的資訊,每一個網站只對應一個,其它網站不能訪問,這個檔案是儲存在客戶端的,每次你打相應網站,瀏覽器會查詢這個網站cookies,如果有就會將這個檔案起傳送出去。cookies檔案的內容大致包函

Cookies Session的區別

信息處理 的區別 兩個 來源 是否 訪問者 用戶 在服務器 session 1.cookie 是一種發送到客戶瀏覽器的文本串句柄,並保存在客戶機硬盤上,可以用來在某個WEB站點會話間持久的保持數據。 2.session其實指的就是訪問者從到達某個特定主頁到離開為止的那段

cookiessession的區別

cookie和session都是用來跟蹤瀏覽器使用者身份的會話方式。 cookie與session的區別是, cookie資料儲存在客戶端,session資料儲存在伺服器端。簡單的說,當你登入一個網站的時候,如果web伺服器端使用的是session,那麼所有的資料都儲存在伺服

關於JMeter的亂碼問題以及處理cookiesession

一:關於亂碼如何解決 1:修改配置檔案 開啟安轉後的JMeter目錄,找到這個檔案 選擇編輯,或者開啟方式,選擇記事本開啟,按住鍵盤的搜尋Ctrl+F 輸入ISO搜尋 找到下圖 第一個預設的#可以不用去掉!!! 修改完之後,重新啟動JMeter 2:如

django的cookiesession以及內建訊號、快取

cookie和session cookie和session的作用: cookie和session都記錄了客戶端的某種狀態,用來跟蹤使用者訪問網站的整個回話。兩者最大的區別是cookie的資訊是存放在瀏覽器客戶端的,而session是存放在伺服器端的 cookie的基本操作 co

Cookies session

一 會話跟蹤   在一個會話的多個請求中共享資料,這就是會話跟蹤技術 請求登入(請求引數是使用者名稱和密碼); 請求轉賬(請求引數與轉賬相關的資料);  請求信譽卡還款(請求引數與還款相關的資料)。       登入資訊在這個會話中是資料共享的,如

django中cookiesession詳解

cookie和session HTTP被設計為”無

Django的CookieSession

 在Django裡面,使用Cookie和Session看起來好像是一樣的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的東西的key,但是這兩者的原理和實現方式確是非常的不同。      首先介紹Cookie,只要是HTTP協議,就

退出登入方法,清除相關的cookiessession

/// <summary> /// 退出登入 /// </summary> public void LoginOut() { Session.Ab