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