Django框架session存儲的設置

如果存儲在數據庫中,需要在INSTALLED_APPS中安裝Session應用:

django.contrib.sessions

在redis中保存session,需要引入第三方擴展,使用django-redis

在settings中做如下設置

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"

修改redis中的配置文件

sudo  vim  /etc/redis/redis.conf

綁定本地地址

重新啓動redis服務

sudo  service  redis-server  restart

Session操作

1) 以鍵值對的格式寫session

request.session['鍵']=值

2)根據鍵讀取值。

request.session.get('鍵',默認值)

 

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

del request.session['鍵']

 4) 設置session的有效期

request.session.set_expiry(value)
  • 如果value是一個整數,session將在value秒沒有活動後過期。
  • 如果value爲0,那麼用戶session的Cookie將在用戶的瀏覽器關閉時過期。
  • 如果value爲None,那麼session有效期將採用系統默認值,默認爲兩週,可以通過在settings.py中設置SESSION_COOKIE_AGE來設置全局默認值。

 

 

 

 

 

 

 

 

 

 

發佈了34 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章