flask的路由、URL規(guī)則、靜態(tài)文件、request、session、cookie、消息閃現(xiàn)、重定向、常用擴展包

flask路由
  • application對象的add_url_rule()函數(shù)也可用于將URL與函數(shù)綁定
flask變量規(guī)則-URL中添加
  • 變量部分標(biāo)記為<variable-name>
  • Flask的URL規(guī)則基于Werkzeug的路由模塊,確保形成的URL是唯一的
flask URL構(gòu)建
  • url_for():用于動態(tài)構(gòu)建特定函數(shù)的URL
http方法
  • 該協(xié)議定義了從指定URL檢索數(shù)據(jù)的不同方法
方法 描述
GET 以未加密的形式將數(shù)據(jù)發(fā)送到服務(wù)器
HEAD 和GET方法相同,但沒有響應(yīng)體
POST 用于將HTML表單數(shù)據(jù)發(fā)送到服務(wù)器。POST方法接收的數(shù)據(jù)不由服務(wù)器緩存
PUT 用上傳的內(nèi)容替換目標(biāo)資源的所有當(dāng)前表示
DELETE 刪除由URL給出的目標(biāo)資源的所有當(dāng)前表示
  • 默認(rèn)情況下,F(xiàn)lask路由響應(yīng)GET請求,但可使用route()提供的方法參數(shù)來更改此首選項
flask 模板
  • 視圖函數(shù)的兩個作用:一是處理業(yè)務(wù)邏輯,二是返回響應(yīng)內(nèi)容
  • 模板其實是一個包含響應(yīng)文本的文件,使用占位符。
  • 渲染:使用真實值替換變量,再返回最終得到的字符串的過程,
  • Flask使用Jinja2模板引擎來渲染模板
  • 使用模板的好處:視圖函數(shù)只負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理(業(yè)務(wù)邏輯方面),而模板則取到視圖函數(shù)的數(shù)據(jù)結(jié)果進(jìn)行展示(視圖展示方面),代碼結(jié)構(gòu)清晰,耦合度低。
flask靜態(tài)文件
  • 將在應(yīng)用程序的/static中提供
  • 特殊端點‘static’用于生成靜態(tài)文件的URL
Flask Request對象

重要屬性

  • Form:一個字典對象,包含表單參數(shù)及其值的鍵值對
  • args:解析查詢字符串的內(nèi)容,它是問號之后的URL的一部分
  • Cookies:保存Cookie名稱和值的字典對象
  • files:與上傳文件有關(guān)的數(shù)據(jù)
  • method:當(dāng)前請求方法
將表單數(shù)據(jù)發(fā)送到模板
  • 觸發(fā)函數(shù)接收的Form數(shù)據(jù)可以以字典對象的形式收集它并將其轉(zhuǎn)發(fā)到模板,然后再相應(yīng)的網(wǎng)頁上呈現(xiàn)它。
flask cookie
  • Cookie以文本文件的形式存儲在客戶端的計算機上,目的是記住和跟蹤與客戶使用相關(guān)的數(shù)據(jù)。
  • Request對象包含cookie屬性,是所有cookie變量及其對應(yīng)值的字典對象,客戶端已傳輸。
  • 處理步驟為:設(shè)置cookie -> 獲取cookie -> 刪除cookie,讓cookie過期,不是直接刪除
flask session
  • session數(shù)據(jù)存儲在服務(wù)器上
  • 會話是客戶端登錄到服務(wù)器并注銷服務(wù)器的時間間隔
  • Session對象也是一個字典對象,包含會話變量和關(guān)聯(lián)值的鍵值對
重定向和錯誤
  • redirect函數(shù):返回一個響應(yīng)對象,并將用戶重定向到具有指定狀態(tài)代碼的另一個目標(biāo)位置
  • 帶有錯誤代碼的abort函數(shù)
消息閃現(xiàn)
  • 提供了一個非常簡單的方法來使用閃現(xiàn)系統(tǒng)向用戶反饋信息。閃現(xiàn)系統(tǒng)使得在一個請求結(jié)束的時候記錄一個信息,并且在下次(且僅在下一次中)請求時訪問它。
  • 使用flash方法來實現(xiàn)
flask常用擴展包
  • Flask-SQLalchemy:操作數(shù)據(jù)庫;
  • Flask-script:插入腳本;
  • Flask-migrate:管理遷移數(shù)據(jù)庫;
  • Flask-Session:Session存儲方式指定;
  • Flask-WTF:表單;
  • Flask-Mail:郵件;
  • Flask-Bable:提供國際化和本地化支持,翻譯;
  • Flask-Login:認(rèn)證用戶狀態(tài);
  • Flask-OpenID:認(rèn)證;
  • Flask-RESTful:開發(fā)REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和時間;
  • Flask-Admin:簡單而可擴展的管理接口的框架
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容