Flask 簡(jiǎn)介


Flask是非常流行的python web 框架


優(yōu)點(diǎn):

非常齊全的官方文檔恨樟,上手非誠(chéng)方便

有非常好的擴(kuò)展機(jī)制和第三方擴(kuò)展環(huán)境

社區(qū)活躍度非常高


Flask主要依賴三個(gè)庫(kù):

JinJa2:默認(rèn)的模板引擎

Werkzeug:一個(gè)包含WSGi劝术,路由计螺,調(diào)試的工具集

Itsdangerous:基于Django簽名模塊的簽名實(shí)現(xiàn)

Web程序和數(shù)據(jù)庫(kù)交互使用SQLAlchemy,MongoEngine,不用ORM(對(duì)象關(guān)系映射)而基于Mysql-python這樣的底層驅(qū)動(dòng)進(jìn)行開(kāi)發(fā)


From flask import Flask ?引入Flask實(shí)現(xiàn)一個(gè)WSGi應(yīng)用

App = Flask(__name__) ?app是Flask的實(shí)例,它接受包或模塊的名字,一般用__name__通過(guò)它去確定根目錄咆槽,以便獲取靜態(tài)文件和模板文件目錄

@app.rount() ????????將url和視圖函數(shù)的關(guān)系保存到app.url_map屬性上


調(diào)試模式

app.debug = True

App.run這樣方式使用于啟動(dòng)本地的開(kāi)發(fā)服務(wù)器秦忿,每次修改要重啟服務(wù)器,進(jìn)入調(diào)試模式后服務(wù)器會(huì)自動(dòng)載入代碼并返回錯(cuò)誤上下文及調(diào)試頁(yè)面


動(dòng)態(tài)url規(guī)則

@app.rount(‘/item/<id>/’)

尖括號(hào)的內(nèi)容是動(dòng)態(tài)的潜秋,凡是匹配到item的url都會(huì)映射到這個(gè)路由上,內(nèi)部的id作為參數(shù)獲得

默認(rèn)是string(int,float,path,uuid,any)


HTTP方法

@app.rount(‘/login’,methods=[GET,POST])


唯一url

@app.rount(‘/projexts/’)

結(jié)尾不帶/會(huì)別重定向到/規(guī)范的url上胎许,會(huì)出現(xiàn)搜索錯(cuò)誤的情況


構(gòu)造url

url_for() 構(gòu)造url ,不直接寫(xiě)url的原因在未來(lái)要更改時(shí)只需改一次钩述,url轉(zhuǎn)移特殊字符時(shí)他會(huì)自己處理

跳轉(zhuǎn)和重定向

Redirect() ?跳轉(zhuǎn)狀態(tài)嗎時(shí)301牙勘,重定向是302


藍(lán)圖

藍(lán)圖(Blueprint)實(shí)現(xiàn)了應(yīng)用的模塊化,讓?xiě)?yīng)用層次清晰方面,開(kāi)發(fā)者便于維護(hù)項(xiàng)目恭金。

使用app.register_blueprint()注冊(cè)模塊,用Blueprint()實(shí)例模塊的變量替代app


模板Jinja2引擎

Jinja是日本寺廟的意思蔚叨,并且寺廟的英文temple和template的發(fā)音相似蔑水。Jinja2是flask默認(rèn)的仿Django的一個(gè)模板引擎,由flask的作者開(kāi)發(fā)丹擎。

優(yōu)點(diǎn):

讓Html設(shè)計(jì)者和后端python開(kāi)發(fā)工作分離

減少使用python的復(fù)雜程度,頁(yè)面邏輯相對(duì)獨(dú)立蒂培,易于維護(hù)

模板非常靈活护戳,快速和安全垂睬,對(duì)設(shè)計(jì)者和開(kāi)發(fā)者更友好

提供了控制語(yǔ)句,繼承等高級(jí)功能驹饺,減少開(kāi)發(fā)的復(fù)雜度

Jinja2是Flask的一個(gè)依賴赏壹,安裝flaks,Jinja2也隨之安裝

{# #} ??模板注釋

{% %} ?用于執(zhí)行for循環(huán)或賦值的語(yǔ)句

{{ }} ??用于把表達(dá)式的結(jié)果輸出到模板上


模板繼承

{% block head%} ??{% endblock%} ??子模板重載


宏(類似于函數(shù))

使用`macro`這個(gè)模板標(biāo)簽創(chuàng)建宏

在真實(shí)的開(kāi)發(fā)中昔瞧,會(huì)將一些常用的宏單獨(dú)放在一個(gè)文件中,在需要使用的時(shí)候硬爆,再?gòu)倪@個(gè)文件中進(jìn)行導(dǎo)入。

例:

{%?import?'forms.html'?as?forms?%}

{%?from?'forms.html'?import?input?as?input_field?%}

{%?from?'forms.html'?import?input?%}


擴(kuò)展:

Mako模板引擎缘圈,性能和Jinja2類似袜蚕,由知名的框架支持牲剃,如Pylons和Pyramid內(nèi)置Mako作為默認(rèn)模板引擎,支持在模板中寫(xiě)原生python凿傅,對(duì)python工程師友好缠犀,Jinja2帶來(lái)的好處是易于維護(hù),使得模板有更好的可讀性聪舒,Mako限制少使得工作更有效率辨液,整個(gè)項(xiàng)目維護(hù)更好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箱残,一起剝皮案震驚了整個(gè)濱河市滔迈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌被辑,老刑警劉巖燎悍,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異盼理,居然都是意外死亡谈山,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門勾哩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迅矛,“玉大人秽褒,你說(shuō)我怎么就攤上這事庐椒≡继福” “怎么了泼橘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鼻吮,道長(zhǎng)狈网,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮烤礁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鲤脏。我一直安慰自己窥突,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著煌茬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眠屎。 梳的紋絲不亂的頭發(fā)上改衩,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天板惑,我揣著相機(jī)與錄音洽胶,去河邊找鬼。 笑死翔横,一個(gè)胖子當(dāng)著我的面吹牛棕孙,可吹牛的內(nèi)容都是我干的订雾。 我是一名探鬼主播烫映,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼识补,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼祝辣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起孕荠,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤槐瑞,失蹤者是張志新(化名)和其女友劉穎困檩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體糟趾,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡非驮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年填大,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡妓灌,死狀恐怖圃验,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤箍镜,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布赫悄,位于F島的核電站写隶,受9級(jí)特大地震影響冕房,放射性物質(zhì)發(fā)生泄漏毫捣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一矿微、第九天 我趴在偏房一處隱蔽的房頂上張望蒿辙。 院中可真熱鬧,春花似錦熄守、人聲如沸晋南。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背规伐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓盯漂,卻偏偏與公主長(zhǎng)得像竭宰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348