1、小型框架、可擴(kuò)展
兩個(gè)主要依賴,路由/調(diào)試和WSGI(web服務(wù)器網(wǎng)關(guān)接口)
子系統(tǒng):Werkzeug
模板系統(tǒng):Jinja2
路由:處理URL與函數(shù)之間的關(guān)系
視圖函數(shù),返回HTML、表單。。。
上下文:程序上下文(current_app、g)、請(qǐng)求上下文(request、session)
請(qǐng)求鉤子,也是裝飾器
用戶在網(wǎng)站中注冊(cè)了一個(gè)新賬戶。用戶在表單中輸入電子郵件地址和密碼,然后點(diǎn) 擊提交按鈕。服務(wù)器接收到包含用戶輸入數(shù)據(jù)的請(qǐng)求,然后 Flask 把請(qǐng)求分發(fā)到處理注冊(cè) 請(qǐng)求的視圖函數(shù)。這個(gè)視圖函數(shù)需要訪問(wèn)數(shù)據(jù)庫(kù),添加新用戶,然后生成響應(yīng)回送瀏覽 器。這兩個(gè)過(guò)程分別稱為業(yè)務(wù)邏輯和表現(xiàn)邏輯。
使用重定向作為 POST 請(qǐng)求的響應(yīng),而不是使用常規(guī)響應(yīng)。重定 向是一種特殊的響應(yīng),響應(yīng)內(nèi)容是 URL,而不是包含 HTML 代碼的字符串。瀏覽器收到 這種響應(yīng)時(shí),會(huì)向重定向的 URL 發(fā)起 GET 請(qǐng)求,顯示頁(yè)面的內(nèi)容。這個(gè)頁(yè)面的加載可能 要多花幾微秒,因?yàn)橐劝训诙€(gè)請(qǐng)求發(fā)給服務(wù)器。除此之外,用戶不會(huì)察覺(jué)到有什么不 同?,F(xiàn)在,最后一個(gè)請(qǐng)求是 GET 請(qǐng)求,所以刷新命令能像預(yù)期的那樣正常使用了。這個(gè)技 巧稱為 Post/ 重定向 /Get 模式。
flash:flash函數(shù),需要頁(yè)面渲染。
(非關(guān)系型數(shù)據(jù)庫(kù))NoSql數(shù)據(jù)庫(kù) 文檔數(shù)據(jù)庫(kù)、鍵值對(duì)數(shù)據(jù)庫(kù),重復(fù)數(shù)據(jù)多,好處:提升查詢速度,有一些查詢無(wú)需聯(lián)結(jié)查詢
ORM,對(duì)象關(guān)聯(lián)映射
ODM,對(duì)象文檔映射