一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python Flask 開發(fā)網(wǎng)絡(luò)應(yīng)用指南00:創(chuàng)建你的 REST API

 小帥b 2021-10-12
后臺有些朋友希望我寫一寫 Python 后臺開發(fā)相關(guān)的,那么就來寫幾篇關(guān)于 Flask 的使用吧,把你們比較想知道的一些東東說一下,比如怎么使用 Flask 來創(chuàng)建 API,如何使用好 Flask-RESTful,F(xiàn)lask 怎么對接數(shù)據(jù)庫,如何存儲數(shù)據(jù),數(shù)據(jù)怎么渲染,還有就是寫完了應(yīng)用,怎么發(fā)布給別人使用等。

如果時間允許的話,我盡量寫的容易理解點,你盡量多點點在看和轉(zhuǎn)發(fā),怎么樣?

第一篇,簡單點,那么就來創(chuàng)建你的 API 吧。

安裝好你的 Flask

我們知道, Flask 是一個輕量級的 web 框架,它提供了實現(xiàn) web 的基礎(chǔ)功能,而我們要做的一些數(shù)據(jù)庫存儲,模板引擎都可以自己擴(kuò)展。

Flask 本身依賴了這么幾個庫:click、Werkzeug、Jinja、itsdangerous、MarkupSafe。

不過我們不用預(yù)先安裝,因為我們在安裝 Flask 的時候,會自動安裝相關(guān)的依賴庫,像這樣:

pip install Flask




這就完事了...




你的第一個 web 應(yīng)用
 
首先你可以創(chuàng)建一個 myapp.py,然后導(dǎo)入你剛剛安裝的 Flask:





接著創(chuàng)建一個 Flask 實例,傳入的參數(shù)為你的模塊名稱,如果是像我們現(xiàn)在只有當(dāng)前這個 py 的話,可以傳入 __name__ ,這樣 Flask 等會才能識別模塊啟動。



 

通常我們在瀏覽器訪問某個文件的時候,會使用 “/” 來訪問相應(yīng)的路徑,比如想要訪問 fxxkpython 網(wǎng)站下的某個類目資源,我們會這樣:https://vip./?cat=343

在 Flask 中,我們可以直接使用 route 裝飾器:





這樣,我們就可以通過指定的路由,訪問相應(yīng)的資源,可以讓 app 跑起來試試:







這里將這個 web 應(yīng)用的端口定義為 8888, 那么可以這樣訪問它:





在瀏覽器中輸入
http://127.0.0.1:8888/fxxk :






可以看到我們后臺定義的路由資源就被訪問到了。

你可以把它當(dāng)做最簡單的網(wǎng)絡(luò)服務(wù)端的應(yīng)用,這時候你在瀏覽器輸入了鏈接并按下回車后可以 在 Chrome 瀏覽器抓包 試試看你控制臺的輸出。

我們的服務(wù)端除了可以被簡單的 GET 請求頁面外,也可以接收不同的請求,從而返回相應(yīng)的數(shù)據(jù)或操作,比如 POST、DELETE、PUT、HEAD 等等,我們可以在 FLASK 中根據(jù)具體的情況提供相應(yīng)的方法。

而這,我們常會用到 REST API 。


什么是 REST API

它主要用來約束 API 的寫法,讓別人使用起來能感到清晰,簡潔,一目了然,使用方便。像這樣:

我們定義的 URI 需要清晰易于理解,例如:

https://api./shop/products/list 

這樣我們一眼就能明白這是請求商品數(shù)據(jù)列表。

盡量通過 JSON 或者 XML 來傳遞數(shù)據(jù)對象和屬性。 

明確的使用 HTTP 方法(例如,get、post、put和delete)。 

無狀態(tài),在請求的時候,服務(wù)端不存儲客戶端的上下文狀態(tài)。

小帥b,公眾號:學(xué)習(xí)python的正確姿勢使用 Python 寫一個友好的 API 還是很重要的

Flask 創(chuàng)建 REST API
接下來用一個簡單的示例,給你演示一下 Flask 最常用到的 GET和 POST。

比如現(xiàn)在我們想要提供按摩會所的 API。

這篇先不講數(shù)據(jù)庫相關(guān)的,我們可以用 list 和 dict 來封裝會所的名稱、具體會所下的技師員工號碼和價格的數(shù)據(jù),比如有一家叫做 “超棒休閑會所”,里面有一位技師 808 號,按摩價格 666,就可以這樣表示:





Flask 的 Get 請求

那么這個時候,我們要給前端提供獲取所有會所數(shù)據(jù)的 API,返回 json 數(shù)據(jù),我們就可以這樣:






這里我們用到了 jsonify ,它可以將字典轉(zhuǎn)化為 Json, 為了防止中文亂碼,我們可以這樣設(shè)置:






跑起來看看:





這樣就得到了 json 數(shù)據(jù)了。


Flask 的 POST 請求
接著我們可以提供給前端一個添加會所數(shù)據(jù)的 API,使用 POST 請求,后端獲取 json 數(shù)據(jù),然后添加到列表中來:






我們可以使用 Flask 的 request,通過 get_json 方法就可以得到前端傳來的 json 數(shù)據(jù),并且轉(zhuǎn)化為字典,這樣我們就可以將傳來的數(shù)據(jù)存儲到列表中。

可以使用 curl 進(jìn)行 POST 請求我們剛剛寫的接口:




請求成功,我們再來獲取所有數(shù)據(jù)看看:




可以看到剛剛提交的數(shù)據(jù)也在了。

ok,我們下回見,peace!


掃一掃

學(xué)習(xí) Python 沒煩惱



下面這按鈕是不是很好看?
你應(yīng)該懂我意思的吧...

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩精品视频高清在线观看| 欧美午夜一区二区福利视频| 日本av在线不卡一区| 午夜传媒视频免费在线观看| 91精品国自产拍老熟女露脸| 91亚洲精品综合久久| 日本人妻丰满熟妇久久| 亚洲熟女少妇精品一区二区三区| 国产精品十八禁亚洲黄污免费观看| 成人区人妻精品一区二区三区| 成年人黄片大全在线观看| 日本婷婷色大香蕉视频在线观看| 色婷婷日本视频在线观看| 午夜精品一区免费视频| 高清一区二区三区大伊香蕉| 国产熟女高清一区二区| 国产成人亚洲精品青草天美| 欧美区一区二区在线观看| 精品熟女少妇一区二区三区| 国产精品夜色一区二区三区不卡| 爱在午夜降临前在线观看| 国产免费一区二区三区av大片| 91亚洲国产成人久久| 少妇人妻一级片一区二区三区| 欧美国产日产综合精品| 亚洲在线观看福利视频| av国产熟妇露脸在线观看| 千仞雪下面好爽好紧好湿全文| 国产午夜精品在线免费看| 国产精品免费自拍视频| 国产精品欧美一级免费| 美女被后入视频在线观看| 国产精品一区二区不卡中文| 亚洲中文字幕在线综合视频| 五月天六月激情联盟网| 国产日韩欧美在线播放| 日韩成人午夜福利免费视频| 日韩午夜老司机免费视频| 午夜成年人黄片免费观看| 好东西一起分享老鸭窝| 国产欧美日产中文一区|