????在Flask從基礎(chǔ)到實(shí)戰(zhàn)(一)中已經(jīng)實(shí)現(xiàn)了第一個(gè)falsk程序hello world程序成功訪問,這次在說一下其他的基礎(chǔ)知識。
? ? 程序加載配置
? ? 當(dāng)flask運(yùn)行的時(shí)候,可以給 Flask 設(shè)置相關(guān)配置,比如:配置 Debug 模式,配置數(shù)據(jù)庫連接地址等等,這里以Debug模式為例
????從配置對象中加載(常用)

????從配置文件中加載


配置文件的讀取使用app.config.get()
app.run()的參數(shù)
可以指定運(yùn)行的主機(jī)IP地址,端口,是否開啟調(diào)試模式
app.run(host="0.0.0.0", port=5000, debug = True)
路由的基本定義

通過瀏覽器訪問,可以看到視圖函數(shù)的返回值

路由的傳參
路由傳遞的參數(shù)默認(rèn)當(dāng)做 string 處理,也可以指定參數(shù)的類型,指定參數(shù)類型的地方后面會(huì)說到,這里先看一下如何傳遞參數(shù),尖括號中的內(nèi)容是動(dòng)態(tài)的。

請求結(jié)果如下

指定請求方式
? ??在 Flask 中,定義一個(gè)路由,默認(rèn)的請求方式為:
????GET
????OPTIONS(自帶)
????HEAD(自帶)
如果想添加請求方試,那么可以如下指定:

通過打印app.url_map可以發(fā)現(xiàn)

視圖的常用邏輯
? ? 返回json
????????第一種方式:

? ? 請求后結(jié)果:

????????第二種方式:

? ? 請求結(jié)果:

? ? 可能你覺的兩種請求的方式?jīng)]什么區(qū)別,都是返回的json串,但是其實(shí)是有區(qū)別的,咱們看一下兩種請求方式的響應(yīng)頭
? ? ? ? 第一種返回json數(shù)據(jù)格式的響應(yīng)頭,如下

????????接下來是第二種返回json數(shù)據(jù)的響應(yīng)頭,如下:

????????可以看得出來第二種的響應(yīng)頭返回的內(nèi)容類型改變了
????重定向:url_for
? ??????重定向到自己寫的視圖函數(shù)
????????可以直接填寫自己 url 路徑

????????也可以使用 url_for 生成指定視圖函數(shù)所對應(yīng)的 url

? ? 自定義狀態(tài)碼
????????在 Flask 中,可以很方便的返回自定義狀態(tài)碼,以實(shí)現(xiàn)不符合 http 協(xié)議的狀態(tài)碼
如下視圖函數(shù)的第二個(gè)返回值就是狀態(tài)碼666:
