溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中flask的示例分析

發(fā)布時間:2021-08-10 13:48:04 來源:億速云 閱讀:138 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹python中flask的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一.簡介

Flask是一個使用Python編寫的輕量級Web應用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授權。
Flask被稱為“microframework”,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的數(shù)據(jù)庫、窗體驗證工具。然而,F(xiàn)lask保留了擴增的彈性,可以用Flask-extension加入這些功能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

二.特色

學習python的朋友可能都聽說過django與flask這兩個框架,django重量級,flask輕量級,至于多么輕量呢,創(chuàng)建好flask初始化環(huá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()

而運行它也很簡單:

python hello.py

三.flask規(guī)?;?br/>

輕量有輕量的好處,重有重的好處,我個人喜歡簡單,所以學習python web就直接flask框架上手了,有過其它web編程經(jīng)驗的小伙伴應該都知道,一個項目的構(gòu)建需要很多部分,比如后端的構(gòu)建,分為view,api接口等,而flask并沒有完全的給我們劃分好這些模塊,這就需要我們自己去構(gòu)建了。

我們都知道一個web應用都需要“路由”功能,來連接尋找我們請求的地址,這個路由可能是靜態(tài)或動態(tài)的,但功能都是通過前端用戶訪問的URL來返回前端所需要的信息,如上述代碼,可以在app.py中定義多個路由,那如果有很多模塊怎么辦呢,比如:登錄,發(fā)送信息,上傳信息,驗證信息等,不可能全部寫在這一個文件中,如果被別人看見絕對會被揍。。。

四. flask Blueprint

關于啟動文件引入其他文件中的模塊的實現(xiàn)很簡單,我們先來看一下:

# app.py		//這里是一個程序啟動的入口文件
from flask import Flask
from view.api import api	#view為在當前目錄下的目錄下有個api模塊,引入其中的api方法
from flask_cors import CORS	#這里是跨域解決方法,如果你本地搭建了其它服務來測試當前接口同一瀏覽器下是無法訪問滴
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這個文件是“藍圖”,跨域在其他文件中引入

@api.route("/")				#把app.py下的根路由拿來過來
def index():
    return "hello world"	

@api.route("/api", methods=["POST", "GET"]) 	#定義路由與接受的請求方法
def test():			
    return "this is api router"

這里我們就可以運行起來測試了。

這里不知道有沒有細心的人發(fā)現(xiàn),我們?yōu)榱擞涗浤K更方便,一般都喜歡把名字命名為一樣的,而這里有個坑,文件和目錄還有文件內(nèi)的程序名稱都可以命名成與模塊名字一樣的,但定義函數(shù)的時候一定要更改名字,不然你會發(fā)現(xiàn)怎樣都運行不起來...

以上是“python中flask的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI