一次python-flask藍(lán)圖的踩坑記錄
一.簡介
Flask是一個使用Python編寫的輕量級Web應(yīng)用框架?;赪erkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授權(quán)。
Flask被稱為“microframework”,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認(rèn)使用的數(shù)據(jù)庫、窗體驗證工具。然而,F(xiàn)lask保留了擴(kuò)增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術(shù)。
二.特色
學(xué)習(xí)python的朋友可能都聽說過django與flask這兩個框架,django重量級,flask輕量級,至于多么輕量呢,創(chuàng)建好flask初始化環(huán)境后,只需要僅僅幾行的代碼就可以運(yùn)行:
from flask import Flask app = Flask(__name__) @app.route("/") #定義路由地址 def hello(): return "Hello World!" #return為這個定義的函數(shù)所返回的信息 if __name__ == "__main__": #這里可以直接寫app.run,但不規(guī)范,簡單理解,name中有個“接口”,main是這個接口的啟動地址 app.run()
而運(yùn)行它也很簡單:
python hello.py
三.flask規(guī)?;?br />
輕量有輕量的好處,重有重的好處,我個人喜歡簡單,所以學(xué)習(xí)python web就直接flask框架上手了,有過其它web編程經(jīng)驗的小伙伴應(yīng)該都知道,一個項目的構(gòu)建需要很多部分,比如后端的構(gòu)建,分為view,api接口等,而flask并沒有完全的給我們劃分好這些模塊,這就需要我們自己去構(gòu)建了。
我們都知道一個web應(yīng)用都需要“路由”功能,來連接尋找我們請求的地址,這個路由可能是靜態(tài)或動態(tài)的,但功能都是通過前端用戶訪問的URL來返回前端所需要的信息,如上述代碼,可以在app.py中定義多個路由,那如果有很多模塊怎么辦呢,比如:登錄,發(fā)送信息,上傳信息,驗證信息等,不可能全部寫在這一個文件中,如果被別人看見絕對會被揍。。。
四. flask Blueprint
關(guān)于啟動文件引入其他文件中的模塊的實現(xiàn)很簡單,我們先來看一下:
# app.py //這里是一個程序啟動的入口文件 from flask import Flask from view.api import api #view為在當(dāng)前目錄下的目錄下有個api模塊,引入其中的api方法 from flask_cors import CORS #這里是跨域解決方法,如果你本地搭建了其它服務(wù)來測試當(dāng)前接口同一瀏覽器下是無法訪問滴 run = Flask(__name__) CORS(run) run.register_blueprint(api) #嵌入api模塊 if __name__ == '__main__': run.run(debug=True)
api模塊:
#api.py from flask import * api = Blueprint("api", __name__) #告訴flask這個文件是“藍(lán)圖”,跨域在其他文件中引入 @api.route("/") #把a(bǔ)pp.py下的根路由拿來過來 def index(): return "hello world" @api.route("/api", methods=["POST", "GET"]) #定義路由與接受的請求方法 def test(): return "this is api router"
這里我們就可以運(yùn)行起來測試了。
這里不知道有沒有細(xì)心的人發(fā)現(xiàn),我們?yōu)榱擞涗浤K更方便,一般都喜歡把名字命名為一樣的,而這里有個坑,文件和目錄還有文件內(nèi)的程序名稱都可以命名成與模塊名字一樣的,但定義函數(shù)的時候一定要更改名字,不然你會發(fā)現(xiàn)怎樣都運(yùn)行不起來...
總結(jié)
到此這篇關(guān)于python-flask藍(lán)圖踩坑的文章就介紹到這了,更多相關(guān)python-flask藍(lán)圖踩坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python、PyTorch圖像讀取與numpy轉(zhuǎn)換實例
今天小編就為大家分享一篇python、PyTorch圖像讀取與numpy轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python基礎(chǔ)學(xué)習(xí)之時間轉(zhuǎn)換函數(shù)用法詳解
這篇文章主要介紹了Python基礎(chǔ)學(xué)習(xí)之時間轉(zhuǎn)換函數(shù)用法,結(jié)合實例形式分析了Python常見的日期時間獲取、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2019-06-06Flask web開發(fā)處理POST請求實現(xiàn)(登錄案例)
這篇文章主要介紹了Flask web開發(fā)處理POST請求實現(xiàn)(登錄案例),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計
這篇文章主要介紹了python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02python numpy中對ndarry按照index增刪改查
這篇文章主要介紹了python numpy中對ndarry按照index增刪改查,在numpy中的ndarry是一個數(shù)組,因此index就是位置下標(biāo),注意下標(biāo)是從0開始,接下來一起進(jìn)入下面文章了解詳細(xì)內(nèi)容吧2022-02-02Pandas?計算相關(guān)性系數(shù)corr()方式
這篇文章主要介紹了Pandas?計算相關(guān)性系數(shù)corr()方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07