除請求對象以外,還有一個 session 對象。它容許你在不一樣請求間存儲特定用戶的信息。它是在 Cookies 的基礎上實現的,而且對 Cookies 進行密鑰簽名要使用會話,你須要設置一個密鑰。html
設置:session['username'] = 'xxx'java
刪除:session.pop('username', None)python
關於session的配置redis
app.config['SESSION_COOKIE_NAME'] = 'session_lvning'數據庫
基本使用django
自定義Sessionjson
第三方sessionflask
Django和Flask中session的區別cookie
Django中,session保存在服務端的數據庫中,數據庫中保存請求用戶的全部數據,服務端數據中{'隨機字符串':加密後的客戶相關信息}
請求完成後,把隨機字符串做爲值,返回給客戶端,保存在客戶端的cookie中,鍵爲:sessionid,值爲:服務端返回的隨機字符串;即{'sessionid':'隨機字符串'}session
Flask中,服務端什麼都不存,用戶第一次請求時,在內存中生成一個空字典,將這個空字典加密後,返回給客戶端,保存在客戶端的cookie中,鍵爲’session',值爲:加密後的字典
下次訪問時,讀取客戶端cookie中key爲session對應的值
而後進行解密(若是不能按以前的的加密方式對應個解密方式解密,即認爲第一次請求,從新生成空字典),解密成功後,能夠對字典進行操做,保存新數據在字典中,請求完成後,會從新加密這個字典,返回個客戶端保存
若是代碼很是多,要進行歸類。不一樣的功能放在不一樣的文件,吧相關的視圖函數也放進去。藍圖也就是對flask的目錄結構進行分配(應用於小,中型的程序)
藍圖用於爲應用提供目錄劃分:
小中型:
manage.py
__init__.py(只要一導入fcrm就會執行init.py文件)
accout.py
order.py
大型:
注意:
藍圖中的視圖函數的名字不能和藍圖對象的名字同樣!!!
其餘:
session存在在服務端的一個字典裏面,session保存起來,取一次裏面仍是有的,直到你刪除以後纔沒有了
一、本質
flash是基於session建立的,flash支持往裏邊放值,只要你取一下就沒有了,至關於pop了一下。不只能夠拿到值,並且能夠把其從session裏的去掉,
基於Session實現的用於保存數據的集合,其特色是:使用一次就刪除。
二、閃現的用途
某個數據僅需用一次時,能夠使用閃現
在函數執行以前或函數執行以後想作點事情,有2種方式
第一種:裝飾器
第二種:flask裏面的擴展,至關於django中的中間件
運行結果:
還有一個@app.before_first_request:表示,當程序運行起來,第一個請求來的時候就只執行一次,下次再來就不會在執行了
自定義標籤和過濾器在頁面上的調用方式:{{sb(1,2)}} {{ 1|db(2,3)}}
導入abort方法
from flask import abort
設置一個站位符,當404錯誤出現時,本身編寫的404頁面就會在佔位符的位置進行顯示
abort(404)
利用鉤子編寫本身的404頁面
原文連接:
https://www.cnblogs.com/huchong/p/8227606.html
識別圖中二維碼,領取python全套視頻資料