Flask框架中Application程序上下文對象

在后續(xù)開發(fā)中我們經(jīng)常會跟核心對象打交道,所以我們要對核心對象有一些必要的了解。

from flask import Flask

app = Flask(__name__)

app是我們通過Flask類構(gòu)造的一個實(shí)例杠纵。
在這個示例中,我們通過引入flask包下面的Flask類的構(gòu)造函數(shù)钩骇,來創(chuàng)建一個命名為app的實(shí)例比藻。這個app實(shí)際上就是我們接觸flask框架中第一個核心對象。我們通常成為Application Context(程序上下文對象)倘屹。
從功能上程序上下文實(shí)現(xiàn)了WSGI程序银亲,可注冊視圖函數(shù)、地址規(guī)則纽匙、模板配置等务蝠。WSGI全稱為WebServerGatewayInterface(Web服務(wù)器網(wǎng)關(guān)接口),是一種接口的規(guī)范烛缔,通過flask編寫的web應(yīng)用程序最終部署到服務(wù)器上要遵循這個規(guī)范馏段。
簡單講,app是一個WSGI程序践瓷,所有針對站點(diǎn)的配置都是通過app這個對象來實(shí)現(xiàn)的院喜,可以通過傳遞功能至請求上下文。
由于app的生命周期早于客戶端請求晕翠,所以可以把不同請求中的共享對象够坐,通過app對象創(chuàng)建,例如數(shù)據(jù)庫的連接崖面,當(dāng)app創(chuàng)建的時候就創(chuàng)建連接數(shù)據(jù)庫對象,后面的請求都可以共享這個連接梯影。

API(Application Programming Interface)

import_name

構(gòu)造函數(shù)Flask(__name__)中第一個參數(shù)為import_name巫员,告訴程序的入口在什么地方,知道入口后就可以通過入口找到其他相對路徑甲棍,例如它的靜態(tài)資源目錄以及模板資源目錄简识。除了使用默認(rèn)參數(shù)name來指定當(dāng)前文件為程序的入口,也可以使用包名來指定感猛,具體操作為Flask('包名')七扰。
在單模塊程序中使用Flask(__name__)就可以滿足需求(不需要加引號),而在多模塊程序中需要使用單引號+包名來指定程序入口陪白。

static_url_path

這個參數(shù)用來指定靜態(tài)資源目錄的位置颈走,如果不指定則默認(rèn)為static_folder也就是在根目錄創(chuàng)建的static文件夾,沒有特殊需求一般不需要修改咱士。

template_folder

指定模板文件夾立由,默認(rèn)為在根目錄下創(chuàng)建的templates目錄轧钓,同靜態(tài)資源目錄一樣,沒有特殊需求則不需要修改锐膜,以免造成不必要的麻煩毕箍。

通常來講在構(gòu)造Flask函數(shù)時,傳遞第一個參數(shù)就足夠道盏。

API中的屬性

.name 名稱(當(dāng)前腳本文件的名稱)
.config 配置(獲取或指定)
.debug 是否啟用調(diào)試
.secret_key 安全碼
app對象中有很多屬性而柑,可以用來設(shè)置,可以用來獲取當(dāng)前程序中的一些配置荷逞。

通過配置的方式去修改屬性

app.config["DEBUG"] = True

將config視為一個字典表媒咳,比app.debug=True更加靈活。
其他屬性也可以通過此種方法進(jìn)行設(shè)置
app.config["SECRET_KEY"] = "4324301250$%@#!@"
可以通過直接屬性賦值颅围,但如果為了以后統(tǒng)一設(shè)置伟葫,最好使用字典表式的配置文件設(shè)置,這樣看起來更直觀院促,當(dāng)然也可以創(chuàng)建單獨(dú)的文件去配置筏养。

裝飾器

最常用的為.route(),用來定制一個地址規(guī)則常拓,匹配地址和視圖函數(shù)渐溶。

@app.route('/')
def home():
    return "Hello"

route用來規(guī)劃地址、匹配視圖函數(shù)弄抬,但不是唯一的方式茎辐,可以通過.add_url_rule()方法實(shí)現(xiàn)。

run方法

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

run方法也可以傳入一些參數(shù)
app.run(host='127.0.0.1')指定主機(jī)掂恕,app.run(port=5001)可以指定端口拖陆,默認(rèn)為5000,app.run(debug=True)是否開啟調(diào)試模式懊亡。還可以在實(shí)際工作中定制其他的通過鍵值對傳遞更多的定制參數(shù)依啰。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市店枣,隨后出現(xiàn)的幾起案子速警,更是在濱河造成了極大的恐慌,老刑警劉巖鸯两,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闷旧,死亡現(xiàn)場離奇詭異,居然都是意外死亡钧唐,警方通過查閱死者的電腦和手機(jī)忙灼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逾柿,“玉大人缀棍,你說我怎么就攤上這事宅此。” “怎么了爬范?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵父腕,是天一觀的道長。 經(jīng)常有香客問我青瀑,道長璧亮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任斥难,我火速辦了婚禮枝嘶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哑诊。我一直安慰自己群扶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布镀裤。 她就那樣靜靜地躺著竞阐,像睡著了一般蓬戚。 火紅的嫁衣襯著肌膚如雪闸度。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天靶草,我揣著相機(jī)與錄音担猛,去河邊找鬼幕垦。 笑死,一個胖子當(dāng)著我的面吹牛傅联,可吹牛的內(nèi)容都是我干的先改。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蒸走,長吁一口氣:“原來是場噩夢啊……” “哼盏道!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起载碌,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衅枫,沒想到半個月后嫁艇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弦撩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年步咪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片益楼。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡猾漫,死狀恐怖点晴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悯周,我是刑警寧澤粒督,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站禽翼,受9級特大地震影響屠橄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闰挡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一锐墙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧长酗,春花似錦溪北、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至劳翰,卻和暖如春敦锌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背佳簸。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工乙墙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人生均。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓听想,卻偏偏與公主長得像,于是被迫代替她去往敵國和親马胧。 傳聞我的和親對象是個殘疾皇子汉买,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

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

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,744評論 0 10
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,101評論 1 32
  • HelloWord程序 創(chuàng)建Python項(xiàng)目 打開Pycharm,創(chuàng)建 pure Python類型的項(xiàng)目佩脊,創(chuàng)建項(xiàng)目...
    懵懂_傻孩紙閱讀 1,339評論 0 1
  • 這幾天想學(xué)新東西蛙粘,就看了flask框架,本身對python不太了解威彰,網(wǎng)上的很多教程看了出牧,總是在某些地方卡住。翻到一...
    易木成華閱讀 2,235評論 0 11
  • 雙調(diào)· 蟾宮曲 自樂 草團(tuán)標(biāo)正對山凹歇盼,山竹炊粳舔痕,山水煎茶。山芋山薯...
    艾了閱讀 278評論 1 2