1. 程式人生 > >配置Django中Session的3種儲存方法

配置Django中Session的3種儲存方法

在Django中Session是通過一箇中間件管理的。如果要在應用程式中使用Session,需要在settings.py中的MIDDLEWARE_CLASSES變數中加入’django.contrib.sessions.middleware.SessionMiddleware’ 。

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

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

如果要將Session儲存在資料庫中,我們需要將 ’django.contrib.sessions’ 加入到INSTALLED_APPS 變數中。然後執行 manage.py syncdb 在資料庫中建立相應的儲存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(),表示系統的臨時目錄。這裡要確保應用程式對那個目錄有讀寫的許可權。

相關推薦

配置DjangoSession的3儲存方法

在Django中Session是通過一箇中間件管理的。如果要在應用程式中使用Session,需要在settings.py中的MIDDLEWARE_CLASSES變數中加入’django.contrib.sessions.middleware.SessionMiddlewa

django使用redis儲存session,settings檔案配置

django中使用redis快取session,settings檔案配置 """ Django settings for hodgepodge project. Generated by 'django-admin startproject' using

MyBatis兩執行XXXMapper.xml配置檔案SQL語句的方法

一、SqlSession單例模式類 package cn.mybatis.Sql; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.i

HTTP請求方式8請求方法

副作用 可用 獲取 其他 代理服 實現 mod 擴展 tp服務器 HTTP請求的方法: HTTP/1.1協議中共定義了八種方法(有時也叫“動作”),來表明Request-URL指定的資源不同的操作方式 HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法

Java Web 項目發布到Tomcat部署方法

true app text 中新 xml文件 serve pac base win 第一種方法:在tomcat中的conf目錄中,在server.xml中的,節點中添加: <Context path="/" docBase="E:\TOMCAT\apache-tomc

Python爬蟲資料的幾儲存方法

txt檔案:   1, open('檔名', '讀寫模式' ), f = open('csdn.txt', 'w', encodeing='utf-8')   2,f

樹的三儲存方法

一、雙親儲存結構 typedef struct { int data; int parent; }PTree[max_size];//P表示parent影象如下:   二、孩子鏈儲存結構 typedef struct snode{  &n

mysql儲存引擎的區別和選擇

前言 資料庫儲存引擎是資料庫底層軟體組織,資料庫管理系統(DBMS)使用資料引擎進行建立、查詢、更新和刪除資料。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎,還可以 獲得特定的功能。現在許多不同的資料庫管理系統都支援多種不同的資料引擎。MySQL的核心就是儲存引擎。 儲存引

DjangoSession的應用方法(全面)

在Django中預設是支援Session的,在其內部提供了5種類型,供開發者使用 資料庫(預設) 快取 檔案 快取+資料庫 加密cookie (1)資料庫Session  Django預設支援Session,並且預設是將Session資料儲存在資料庫中,即:dja

Python常見方法實現斐波那契數列

Python常見斐波那契解決方案 n=35 #1.遞迴求斐波那契 def fibo(n): return 1 if n<3 else fibo(n-1)+fibo(n-2) print(fibo(n)) #2.迴圈求斐波那契 f1,f2=0,1 for i

spring cloud 從註冊中心遠端拉取配置檔案錯誤幾解決方法

1.檢查config server 是否能正常訪問2.檢查config client配置:1)必須是"bootstrap"命名的引導配置檔案2)spring: application: name: 這裡配置的名稱需要與遠端庫的配置檔名稱一致 或者使用spring.

java4迴圈方法(附帶例題)

java迴圈結構 順序結構的程式語句只能 被執行一次。如果你要同樣的操作執行多次,就需要使用迴圈結構。 java中有三種主要的迴圈結構: while 迴圈 do...while 迴圈 for 迴圈 在java5中引入一種主要用於陣列的增強型for迴圈。

pgm格式檔案及其在matlab的讀取儲存方法(2)

早上寫了好久的blog丟失了,原因是沒有及時儲存。對於線上這種東西還是不習慣,當作教訓好了。 言歸正傳,既然嫌棄fopen,fgetl這些麻煩,而且不好用,那便思考一下pgm究竟是什麼。以下是百度百科【1】的查詢結果: 一套API庫;遊戲系統;步槍

計算機二進位制的儲存方法

1個位元組它不管怎麼樣還是隻能表示256個數,因為有符號所以我們就把它表示成範圍:-128-127。它在計算機中是怎麼儲存的呢?可以這樣理解,用最高位表示符號位,如果是0表示正數,如果是1表示負數,剩下的7位用來儲存數的絕對值的話,能表示27個數的絕對值,再考慮正負兩種情況

JS主要方法(函式定義)類別理解 —(JS面向物件&原型)

JS中三種主要方法(函式定義)類別理解 —(JS面向物件&原型) 首先理解在JavaScript中: 函式是“第一等公民” 一切皆物件 javascript的方法可以分為三類: 類方法 物件方法 原型方法 程式碼示例:

word打字反應慢&&解決Excel2013在低配置電腦響應慢的方法

前不久電腦莫名其妙壞掉了,後來焊了下顯示卡又復活了,花了不少大洋,我的毛爺爺啊。自從這祖宗機修好後,我對其畢恭畢敬,分毫莫敢造次。奈何word中打字反應特別慢,由於需大量碼字,遂重灌系統。可惜見效不大,只得訴諸百度:下面的做法大概是關閉了office中的校對等功能,沒搞太懂

用flask開發個人部落格(40)—— Flask測試方法

一、單元測試並統計測試的覆蓋率 1.1 Flask中的單元測試         在之前的文章中介紹過在flask中進行單元測試的方法,目前我們的程式碼中存在下面的單元測試: classBasicTestCase(unittest.TestCase): def Set

django使用redis儲存session

我們可以把django的session儲存在redis裡面 安裝包 pip install django-redis-sessions==0.5.6 注意要在django的虛擬環境中安裝 (django_py3) [email prote

oracle不同方法迴圈輸出1-10

set serveroutput ondeclare   i int:=10;  j int:=0;  begin   loop      j:=j+1;       if j<11 then         dbms_output.put_line(j);      elsif j>11 th

Django獲取引數的方法

通常HTTP協議向伺服器傳參有幾種途徑 :提取URL的特定部分,如/weather/shanghai/2018,可以在伺服器端的路由中用正則表示式擷取;查詢字串(query string),形如key1=value1&key2=value2;請求體(body)中傳送的