Flask框架——第一個Flask程序

本系列文章的目的是讓零基礎(chǔ)的小伙伴從零開始一步一步學(xué)習(xí)Flask框架玻淑,從零入門到能夠獨(dú)立完成一個基于Flask框架開發(fā)的網(wǎng)站并部署到服務(wù)器中积蔚。


Flask框架介紹

Flask框架誕生于2010年凸丸,是Armin ronacher用Python編寫的輕量級Web應(yīng)用程序框架蹦锋,其本身相當(dāng)于一個內(nèi)核,幾乎所有的功能都需要用到擴(kuò)展工具,都需要第三方擴(kuò)展來實現(xiàn)。

Flask框架的WSGI工具箱采用Werkzeug,模板引擎使用jinja2钠右,其中:

  • WSGI:Web服務(wù)器網(wǎng)關(guān)接口(WSGI)已被采納為Python Web應(yīng)用程序開發(fā)的標(biāo)準(zhǔn),是Web服務(wù)器和Web應(yīng)用程序之間通用接口的規(guī)范忘蟹;
  • Werkzeug:是一個WSGI工具包飒房,支持URL路由請求集成搁凸,一次可以響應(yīng)多個用戶的訪問請求;支持Cookie和會話管理狠毯,提高用戶訪問速度护糖;支持交互式Javascript調(diào)試,提高用戶體驗嚼松;可以處理HTTP基本事務(wù)嫡良,快速響應(yīng)客戶端推送過來的訪問請求。
  • jinja2:是Python的流行模板引擎献酗,網(wǎng)頁模板系統(tǒng)將模板與特定的數(shù)據(jù)源結(jié)合起來呈現(xiàn)動態(tài)網(wǎng)頁寝受。

Flask框架作用

Flask框架是一個Python編寫的輕量級Web應(yīng)用程序框架,主要是為了開發(fā)Web應(yīng)用程序罕偎,也就是開發(fā)網(wǎng)頁很澄,所以我們學(xué)完了Flask框架就可以自己寫個網(wǎng)站了。

除了Flask框架颜及,Python還有很多web框架甩苛,例如Django,Tormado框架等俏站,其中最出名的框架是Django浪藻,最靈活的框架算是Flask。

Flask框架常用擴(kuò)展包

剛才說了乾翔,F(xiàn)lask框架本身相當(dāng)于一個內(nèi)核爱葵,幾乎所有的功能都要用到擴(kuò)展,都需要第三方的擴(kuò)展工具來實現(xiàn)反浓。

其常用的擴(kuò)展工具有:

  • Flask-script:腳本工具萌丈;
  • Flask-SQLalchemy:數(shù)據(jù)庫操作工具;
  • Flask-migrate:管理遷移數(shù)據(jù)庫工具雷则;
  • Flask-Session:Session存儲方式指定辆雾;
  • Flask-WTF:表單,WTForms的渲染和驗證月劈;
  • Flask-Mail:為Flask框架提供SMTP接口度迂,郵件工具;
  • 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:簡單而可擴(kuò)展的管理接口的框架。

Flask項目

簡單了解了Flask框架钧萍,現(xiàn)在我們開始創(chuàng)建一個Flask框架項目褐缠,這里我們推薦使用PyCharm,不要問為什么风瘦,問就是好用队魏,方便。

打開PyCharm創(chuàng)建我們第一個Flask項目万搔,如下圖所示:



一般情況下器躏,我們只需要修改一下項目名和選擇Python編譯器后點(diǎn)擊Create后,點(diǎn)擊This Window蟹略,

注意:由于我們的虛擬環(huán)境沒有Flask,所以在點(diǎn)擊This Window后遏佣,會報如下圖錯誤:




這些錯誤不重要挖炬,點(diǎn)擊Cancel或OK后,在PyCharm終端執(zhí)行以下代碼安裝Flask即可:

pip install flask

這樣我們就成功創(chuàng)建了一個Flask框架項目状婶,如下圖所示:



其中:

  • static:靜態(tài)文件夾意敛,里面通常存放js、css膛虫、img等一些靜態(tài)文件草姻;
  • templates:模板文件夾,用來保存我們html模板稍刀;
  • venv:虛擬環(huán)境文件夾撩独,存放我們pip安裝的庫、模塊和擴(kuò)展工具等账月;
  • app.py:項目啟動文件综膀。

創(chuàng)建完項目后,我們執(zhí)行如下代碼查看當(dāng)前項目已經(jīng)安裝了哪些包:

pip list

執(zhí)行結(jié)果如下所示:



每個人執(zhí)行的結(jié)果會有一點(diǎn)點(diǎn)區(qū)別局齿,可能會少了或多了一兩個庫剧劝,但沒關(guān)系,當(dāng)我們需要時通過pip來安裝即可抓歼。

啟動文件——app.py

在Flask框架中讥此,我們一般是通過啟動文件——app.py在PyCharm終端執(zhí)行如下代碼來啟動Flask項目:

app.py

啟動文件——app.py內(nèi)容如下所示:

from flask import Flask     #導(dǎo)入Flask模塊

#創(chuàng)建Flask的實例對象
app = Flask(__name__)

#裝飾器
@app.route('/')
#視圖函數(shù)
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

首先導(dǎo)入Flask模塊,使用Flask()方法來創(chuàng)建Flask實例對象谣妻,該方法傳入的參數(shù)值name是一個適用大多情況下的快捷方式萄喳,類似文件路徑,有了這個參數(shù)蹋半,F(xiàn)lask才知道在哪里找模板取胎、靜態(tài)文件等。

使用app.route()裝飾器來告訴Flask觸發(fā)視圖函數(shù)的URL,視圖函數(shù)返回用戶在瀏覽器中顯示的信息闻蛀,

通過app.run()啟動一個web服務(wù)器來運(yùn)行我們的Flask應(yīng)用程序匪傍。

運(yùn)行Flask程序

我們可以直接運(yùn)行Flask應(yīng)用程序,也可以通過PyCharm終端運(yùn)行觉痛,這里我們推薦使用PyCharm終端來運(yùn)行役衡。

我們先什么都不做,通過PyCharm終端執(zhí)行如下代碼運(yùn)行我們Flask應(yīng)用程序:



這里有個WARNING警告:告訴我們這是一個開發(fā)服務(wù)器薪棒,不要在生產(chǎn)部署中使用它手蝎。

我們點(diǎn)擊http://127.0.0.1:5000/就會彈出一個瀏覽器,如下圖所示:


那么我們就要思考俐芯,為什么點(diǎn)擊這個網(wǎng)址就會彈出Hello World!棵介,而不是彈出其他呢。

好了吧史,關(guān)于Flask框架——第一個Flask程序就講到這里了邮辽,下篇文章學(xué)習(xí)Flask框架——路由(Route)、環(huán)境配置贸营,感謝觀看6质觥!钞脂!
公眾號:白巧克力LIN

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揣云,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冰啃,更是在濱河造成了極大的恐慌邓夕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阎毅,死亡現(xiàn)場離奇詭異翎迁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)净薛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門汪榔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肃拜,你說我怎么就攤上這事痴腌。” “怎么了燃领?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵士聪,是天一觀的道長。 經(jīng)常有香客問我猛蔽,道長剥悟,這世上最難降的妖魔是什么灵寺? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮区岗,結(jié)果婚禮上略板,老公的妹妹穿的比我還像新娘。我一直安慰自己慈缔,他們只是感情好叮称,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著藐鹤,像睡著了一般瓤檐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上娱节,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天挠蛉,我揣著相機(jī)與錄音,去河邊找鬼肄满。 笑死谴古,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悄窃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蹂窖,長吁一口氣:“原來是場噩夢啊……” “哼轧抗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞬测,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤横媚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后月趟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灯蝴,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年孝宗,在試婚紗的時候發(fā)現(xiàn)自己被綠了穷躁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡因妇,死狀恐怖问潭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情婚被,我是刑警寧澤狡忙,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站址芯,受9級特大地震影響灾茁,放射性物質(zhì)發(fā)生泄漏窜觉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一北专、第九天 我趴在偏房一處隱蔽的房頂上張望禀挫。 院中可真熱鬧,春花似錦逗余、人聲如沸特咆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腻格。三九已至,卻和暖如春啥繁,著一層夾襖步出監(jiān)牢的瞬間菜职,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工旗闽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酬核,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓适室,卻偏偏與公主長得像嫡意,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捣辆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容