Flask誕生于2010年,是Armin ronacher用Python語言基于Werkzeug工具箱編寫的輕量級Web開發(fā)框架。時至今日,使用Flask開發(fā)Web等應(yīng)用程序的人越來越多,使用Flask微框架也越來越流行。
目前,Python的就業(yè)前景還是非常好的。國內(nèi)Python人才需求呈大規(guī)模上升,薪資水平也水漲船高。在Linux運(yùn)維、Python Web網(wǎng)站工程師、Python自動化測試、數(shù)據(jù)分析和人工智能等諸多領(lǐng)域,對Python人才的需求非常旺盛。目前,業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如Youtube、Dropbox、BT、Quora(類似于中國的知乎)、豆瓣、知乎、Google、Yahoo、Facebook、NASA、百度、騰訊、汽車之家和美團(tuán)等。很多知名企業(yè)的網(wǎng)站,諸如豆瓣、知乎和拉勾網(wǎng)等都是用Python語言開發(fā)的。熟練掌握Python語言與Python框架Flask,入職名企妥妥的。
Flask的優(yōu)勢
Web網(wǎng)站發(fā)展至今,特別是服務(wù)器端,涉及的知識非常廣泛,這對程序員的要求會越來越高。如果采用成熟、穩(wěn)健的框架,那么一些諸如安全性、數(shù)據(jù)流控制等類型的基礎(chǔ)性工作都可以讓框架來處理,而程序開發(fā)人員則可以把更多的精力放在具體業(yè)務(wù)邏輯功能的實現(xiàn)和優(yōu)化上。
使用Flask框架的優(yōu)勢有以下幾點:
可以大大降低開發(fā)難度,提高開發(fā)效率,讓快速、高效的Web開發(fā)成為可能。
可以帶來系統(tǒng)穩(wěn)定性和可擴(kuò)展性的提升。Flask自由、靈活、可擴(kuò)展性強(qiáng)、第三方庫的選擇面廣,用第三方庫可以實現(xiàn)自己想要的功能,而且很多第三方庫還可以定制與裁減。
對于初學(xué)者來說簡單易學(xué),入門門檻很低,即便沒有多少Web開發(fā)經(jīng)驗,也能很快做出網(wǎng)站,大大節(jié)約了初學(xué)者的學(xué)習(xí)成本。
綜上所述,F(xiàn)lask是一個用Python語言編寫的Web微框架,可以讓開發(fā)人員快速開發(fā)各種Web應(yīng)用。
筆者在長期的Flask框架使用過程中有切身體會:使用該框架進(jìn)行Web開發(fā),的確省時、省事、省力。比如表單數(shù)據(jù)的校驗、CSRF攻擊與防御等提供了相應(yīng)模塊,直接拿過來就可以使用。默認(rèn)情況下,F(xiàn)lask不包含數(shù)據(jù)庫抽象層和表單驗證等功能。然而Flask支持用擴(kuò)展來給應(yīng)用添加這些功能,就如同是用Flask實現(xiàn)的一樣。眾多的擴(kuò)展提供了數(shù)據(jù)庫集成、表單驗證、上傳處理和各種各樣的開放認(rèn)證技術(shù)等功能。為了把這些心得體會分享給廣大的Web開發(fā)人員,筆者編寫了本書。本書主要介紹了如何基于Python的微框架Flask進(jìn)行Web開發(fā),內(nèi)容安排從易到難,講解由淺入深、循序漸進(jìn),可以幫助讀者快速掌握Flask Web開發(fā)的大部分常用技術(shù)點。
本書特色
由淺入深:本書從基本的開發(fā)環(huán)境配置講起,層層深入到實際項目案例開發(fā),切實為讀者朋友提供了高效學(xué)習(xí)Flask框架的好方法。
內(nèi)容全面:本書涵蓋Flask開發(fā)的方方面面,包括Jinja 2、視圖操作、數(shù)據(jù)庫訪問、Memcached緩存和Bootstrap等眾多內(nèi)容。
實例眾多:本書注重講練結(jié)合,講解的實例多達(dá)116個,還提供了28個配套編程練習(xí)題,讓讀者朋友可以通過大量的動手實踐迅速掌握Flask開發(fā)。
注重實戰(zhàn):本書第2、3篇結(jié)合新聞系統(tǒng)網(wǎng)站開發(fā),將一個完整的動態(tài)網(wǎng)站項目劃分為典型的工作任務(wù),讓讀者在完成工作任務(wù)的過程中學(xué)習(xí)新技術(shù)和新技能。
本書內(nèi)容
第1篇 Flask基礎(chǔ)知識(第1~8章)
本篇主要介紹了Flask開發(fā)環(huán)境的部署與配置,并重點介紹了Flask開發(fā)所需要掌握的基礎(chǔ)知識,涵蓋Flask程序基本結(jié)構(gòu)、Jinja 2模板引擎、高級視圖、Flask數(shù)據(jù)交互、數(shù)據(jù)庫訪問和Memcached緩存系統(tǒng)等內(nèi)容。
第2篇 CMS新聞系統(tǒng)開發(fā)(第9~14章)
本篇主要介紹了CMS系統(tǒng)后臺管理員登錄實現(xiàn)、CMS系統(tǒng)后臺文章模塊基本功能實現(xiàn)、CMS后臺基本評論及登錄日志等功能實現(xiàn)、基于角色的訪問控制功能實現(xiàn)、CMS網(wǎng)站前臺功能實現(xiàn)和CMS系統(tǒng)代碼優(yōu)化等相關(guān)內(nèi)容,涉及數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫遷移、無限級分類、登錄日志、角色訪問權(quán)限控制等相關(guān)知識點。
第3篇 網(wǎng)站上線準(zhǔn)備(第15、16章)
本篇主要介紹了Web程序上線部署前必須要進(jìn)行的單元測試、性能優(yōu)化和環(huán)境部署等相關(guān)內(nèi)容。
配套資源獲取方式
本書涉及的源代碼文件等配套資料需要讀者自行下載。請在華章公司的網(wǎng)站www.hzbook.com上搜索到本書,然后單擊資料下載按鈕,即可在本書頁面上找到配書資源下載鏈接,單擊該鏈接即可下載。
本書讀者對象
本書適合熟悉Python編程語言,并具備CSS、HTML和jQuery等前端開發(fā)基礎(chǔ)知識,且有志于通過Flask框架開發(fā)Web應(yīng)用的編程愛好者、程序員和軟件工程師等人員學(xué)習(xí)和參考,另外還適合Flask全棧開發(fā)培訓(xùn)機(jī)構(gòu)的培訓(xùn)學(xué)員。主要如下:
想用Python快速開發(fā)網(wǎng)站的人員;
前端開發(fā)者想要學(xué)習(xí)后端開發(fā)技術(shù)的程序員;
熟悉Python其他框架的開發(fā)人員;
熟悉Java和PHP等編程語言而想快速開發(fā)網(wǎng)站的程序員;
其他Web編程愛好者;
各大院校的學(xué)生;
相關(guān)培訓(xùn)機(jī)構(gòu)的學(xué)員。
如果你是這幾類人中的一員,那么本書就適合你。只要你能堅持學(xué)習(xí)完本書內(nèi)容,并按本書設(shè)計的案例和習(xí)題進(jìn)行動手實踐和思考,相信當(dāng)你完成了書中的所有項目案例后,就可以勝任網(wǎng)站開發(fā)這項工作了。
本書作者
本書由錢游編寫完成。筆者長期使用Flask技術(shù)進(jìn)行Web應(yīng)用開發(fā),有十余年軟件開發(fā)經(jīng)驗,在Web開發(fā)、微商城開發(fā)、Android移動開發(fā)等領(lǐng)域有豐富的實戰(zhàn)經(jīng)驗。筆者現(xiàn)在從事移動互聯(lián)網(wǎng)與物聯(lián)網(wǎng)應(yīng)用等領(lǐng)域的開發(fā)與研究。
在本書的編寫過程中,為確保內(nèi)容的正確性而參閱了很多資料。在此,對本書所參考的資料或圖書的原作者表示誠懇的感謝!對不能一一標(biāo)明資料來源的作者表示真誠的歉意和敬意!對直接或間接為本書的出版傾注了智慧、付出了心力、提供了良好建議及幫助的所有人表示感謝!
由于水平所限,加之寫作時間倉促,書中難免存在錯誤和不嚴(yán)謹(jǐn)之處,懇請同行專家和讀者不吝指正。讀者在閱讀本書的過程中若有疑問,可以發(fā)電子郵件獲得幫助。
編著者