默認(rèn)情況下,F(xiàn)lask 不包含數(shù)據(jù)庫(kù)抽象層、表單驗(yàn)證,或是其它任何已有多種庫(kù)可以勝任的功能。然而,F(xiàn)lask 支持用擴(kuò)展來(lái)給應(yīng)用添加這些功能,如同是 Flask 本身實(shí)現(xiàn)的一樣。眾多的擴(kuò)展提供了數(shù)據(jù)庫(kù)集成、表單驗(yàn)證、上傳處理、各種各樣的開(kāi)放認(rèn)證技術(shù)等功能。Flask 也許是“微小”的,但它已準(zhǔn)備好在需求繁雜的生產(chǎn)環(huán)境中投入使用。小編推薦大家加一下這個(gè)群:103456743這個(gè)群里好幾千人了!大家遇到啥問(wèn)題都會(huì)在里面交流!而且免費(fèi)分享零基礎(chǔ)入門料資料web開(kāi)發(fā) 爬蟲資料一整套!是個(gè)非常好的學(xué)習(xí)交流地方!也有程序員大神給大家熱心解答各種問(wèn)題!很快滿員了。欲進(jìn)從速哦!各種PDF等你來(lái)下載!全部都是免費(fèi)的哦!只為幫助大家快速入門,所以小編在群里等你們過(guò)來(lái)一起交流學(xué)習(xí)呢! 1.實(shí)例化Flask對(duì)象時(shí),可選的參數(shù) template_folder:模板所在文件夾的名字 root_path:可以不用填,會(huì)自動(dòng)找到,當(dāng)前執(zhí)行文件,所在目錄地址 在return render_template時(shí)會(huì)將上面兩個(gè)進(jìn)行拼接,找到對(duì)應(yīng)的模板地址 static_folder:靜態(tài)文件所在文件的名字,默認(rèn)是static,可以不用填 static_url_path:靜態(tài)文件的地址前綴,寫成什么,訪問(wèn)靜態(tài)文件時(shí),就要在前面加上這個(gè) app = Flask(__name__,template_folder='templates',static_url_path='/xxxxxx') 如:在根目錄下創(chuàng)建目錄,templates和static,則return render_template時(shí),可以找到里面的模板頁(yè)面;如在static文件夾里存放11.png,在引用該圖片時(shí),靜態(tài)文件地址為:/xxxxxx/11.png 添加路由關(guān)系的本質(zhì):將url和視圖函數(shù)封裝成一個(gè)Rule對(duì)象,添加到Flask的url_map字段中 2.Flask中裝飾器應(yīng)用debug = True 是指進(jìn)入調(diào)試模式,服務(wù)器會(huì)在 我們的代碼修改后, 自動(dòng)重新載入,有錯(cuò)誤的話會(huì)提醒,每次修改代碼后就不需要再手動(dòng)重啟 點(diǎn)擊查看詳情 4.請(qǐng)求響應(yīng)相關(guān)1.獲取請(qǐng)求數(shù)據(jù),及相應(yīng) 三、配置文件四、路由系統(tǒng)1.可傳入?yún)?shù): 2.反向生成URL: url_for endpoint('name') #別名,相當(dāng)于django中的name 4.自定制正則路由匹配 擴(kuò)展Flask的路由系統(tǒng),讓他支持正則,這個(gè)類必須這樣寫,必須去繼承BaseConverter 五、視圖函數(shù)1.Django中的CBV模式 2.Flask中的CBV 六、請(qǐng)求與響應(yīng)七、模板語(yǔ)法1、模板的使用 Flask使用的是Jinja2模板,所以其語(yǔ)法和Django無(wú)太大差別 Flask中模板里面,執(zhí)行函數(shù)時(shí),需要帶()才執(zhí)行 1.為了防止xss攻擊,加了驗(yàn)證,所以頁(yè)面上顯示字符串的形式,解決辦法,有兩種方法 方法一:在后端使用Markup,等價(jià)于Django里的mark_safe 方法一:在后端使用Markup,等價(jià)于Django里的mark_safe v = Markup('') 方法二:在前端使用safe {{ v1|safe }} 2、自定義模板方法 Flask中自定義模板方法的方式和Bottle相似,創(chuàng)建一個(gè)函數(shù)并通過(guò)參數(shù)的形式傳入render_template, run.py 3.宏 只有定義的東西在很多地方去使用的時(shí)候才去用它, html 八、Session除請(qǐng)求對(duì)象之外,還有一個(gè) session 對(duì)象。它允許你在不同請(qǐng)求間存儲(chǔ)特定用戶的信息。它是在 Cookies 的基礎(chǔ)上實(shí)現(xiàn)的,并且對(duì) Cookies 進(jìn)行密鑰簽名要使用會(huì)話,你需要設(shè)置一個(gè)密鑰。
九、藍(lán)圖藍(lán)圖用于為應(yīng)用提供目錄劃分: 小型應(yīng)用程序:示例 大型應(yīng)用程序:示例 其他:
十、閃現(xiàn)(flash)session存在在服務(wù)端的一個(gè)字典里面,session保存起來(lái),取一次里面還是有的,直到你刪除之后才沒(méi)有了 1、本質(zhì) flash是基于session創(chuàng)建的,flash支持往里邊放值,只要你取一下就沒(méi)有了,相當(dāng)于pop了一下。不僅可以拿到值,而且可以把其從session里的去掉, 基于Session實(shí)現(xiàn)的用于保存數(shù)據(jù)的集合,其特點(diǎn)是:使用一次就刪除。 2、閃現(xiàn)的用途 某個(gè)數(shù)據(jù)僅需用一次時(shí),可以使用閃現(xiàn) 十一、中間件在函數(shù)執(zhí)行之前或函數(shù)執(zhí)行之后想做點(diǎn)事情,有2種方式 第一種:裝飾器 第二種:flask里面的擴(kuò)展,相當(dāng)于django中的中間件 運(yùn)行結(jié)果: 還有一個(gè)@app.before_first_request:表示,當(dāng)程序運(yùn)行起來(lái),第一個(gè)請(qǐng)求來(lái)的時(shí)候就只執(zhí)行一次,下次再來(lái)就不會(huì)在執(zhí)行了 十二、請(qǐng)求擴(kuò)展 |
|
來(lái)自: 習(xí)悟齋 > 《編程開(kāi)發(fā)》