如何使用python開發(fā)一個api?
謝邀,去年春節(jié)期間,沒事報了一個python web開發(fā)的網(wǎng)絡課程,根據(jù)自己的學習情況來回答一下。一個頁面的開發(fā),應該是分前端和后端的。關于后端在python中有兩個最常見的開發(fā)框架:Django,flask。Django大而全,什么功能模塊都已經封裝好了,調用即可;flask小而精,沒有很高的封裝,但是有許多功能模塊,需要我們自己去集成。
當初學習的那個網(wǎng)絡課程是用flask框架來做的,上手很簡單:當初學習的時候能寫一個小的網(wǎng)站,本來想轉行做python后端開發(fā)的,但是后來還是接著做數(shù)據(jù)挖掘了,許久不用,倒是有點生疏了。總得來說,有幾大模塊:路由route() 裝飾器把一個函數(shù)綁定到對應的 URL 上,F(xiàn)lask 的 URL 規(guī)則基于 Werkzeug 的路由模塊。
這個模塊背后的思想是基于 Apache 以及更早的 HTTP 服務器主張的先例,保證優(yōu)雅且唯一的 URL。模板渲染 Jinja2用 Python 生成 HTML 十分無趣,而且相當繁瑣,因為你必須手動對 HTML 做轉義來保證應用的安全。為此,F(xiàn)lask 配備了 Jinja2 模板引擎。
當然你也可以使用其他的模板引擎,但是建議你還是使用jinja2模板請求對象request你可以使用全局 request 對象訪問進入的請求數(shù)據(jù)。 Flask 處理進入的請求數(shù)據(jù)并允許你用這個全局對象訪問它。如果你工作在多線程環(huán)境,F(xiàn)lask 內部保證你總會在當前線程上獲取正確的數(shù)據(jù)。
數(shù)據(jù)庫交互-Flask-SQLAlchemy 通過sqlalchemy對數(shù)據(jù)庫增刪改查,使用的是orm模式,不需要寫SQL語句。在數(shù)據(jù)庫中,一個表就是一個python類,一個類的實例就是表中的行。在開發(fā)過程中,會用到一些python的高級應用:裝飾器:在權限驗證的時候很需要用到模塊的導入:防止循環(huán)導入圖像處理:驗證碼生成property使用:密碼加密時使用關于前端如果對前端不熟,想做一個小網(wǎng)站練練手,推薦你使用Bootstrap里面有各種的CSS樣式,各種組件,JS插件,還有一些網(wǎng)站實例供你參考,對前端HTML,CSS 不是很熟悉的,可以通過這略微修改快速搭建一個前端頁面。
后記:將來的數(shù)據(jù)挖掘工作者可能也需要懂網(wǎng)站后端開發(fā),因為以后建模不會一直都是在單機中,可能會集成到網(wǎng)站中,實時數(shù)據(jù)流入模型,結果展示在網(wǎng)站上。