Django配置Session的3種儲存方法

2021-08-15 19:36:56 字數 964 閱讀 7821

在django中session是通過乙個中介軟體管理的。如果要在應用程式中使用session,需要在settings.py中的middleware_classes變數中加入』django.contrib.sessions.middleware.sessionmiddleware』。

django中的session有3種儲存方式:放在資料庫、快取或者檔案系統中,下面分別予以介紹。

1. 將session儲存在資料庫中:

2. 將session儲存在快取中:

如果想獲得更好的效能,我們可以將session儲存在快取中。這裡有兩種配置方式:一種是設定session_engine 為」django.contrib.sessions.backends.cache」

這是一種簡單配置,session將之被儲存在快取中,但是不保證session總是能取到(比如快取溢位時session會丟失);

另一種方式是設定session_engine 為 「django.contrib.sessions.backends.cached_db」。這種方式下,session在儲存到快取的同時還會被儲存到資料庫中,當django在快取中找不到session時,會從資料庫中找到。第二種方式會有一點點效能開銷,但是安全性和冗餘性更好。

3. 將session儲存在檔案系統中:

最後一種方式是將session儲存在檔案系統中。

需要設定session_engine 為」django.contrib.sessions.backends.file」,這時你還需要同時設定session_file_path 變數,它代表session檔案儲存的位置,預設的設定一般是tempfile.gettempdir(),表示系統的臨時目錄。這裡要確保應用程式對那個目錄有讀寫的許可權。

Django中session和cookie的用法

session 存在伺服器端,用request物件進行設定 設定session 在後端寫入 request.session money 100 缺省會在cookie中產生乙個sessionid 獲取session值 只能在後端獲取 print request.session.get money co...

Django的session操作使用

配置在這裡 操作 通過httprequest物件的session屬性進行會話的讀寫操作 1 以鍵值對的格式寫session。request.session 鍵 值2 根據鍵讀取值。request.session.get 鍵 預設值 3 清除所有session,在儲存中刪除值部分。request.se...

Django中session的使用

1 存在於服務端的鍵值對 2同乙個瀏覽器不允許登入多個賬戶,不同瀏覽器可以登入同乙個賬戶 3session的使用 必須遷移資料 增 request.session name lqz 查 request.session name 改 request.session name egon 刪 del re...