flask循環(huán)導(dǎo)入的問題解決
循環(huán)導(dǎo)入是指兩個(gè)文件相互導(dǎo)入對(duì)方,形成一個(gè)導(dǎo)入循環(huán)。這會(huì)導(dǎo)致Python無法確定哪個(gè)模塊應(yīng)該先導(dǎo)入,進(jìn)而出現(xiàn)錯(cuò)誤。
舉個(gè)Flask中的例子:
在app.py文件中:
from views import index ?# 從views.py導(dǎo)入index視圖
app = Flask(__name__)
app.add_url_rule('/', 'index', index) ?# 注冊(cè)index視圖在views.py文件中:
from app import app ?# 從app.py導(dǎo)入app應(yīng)用
@app.route('/')
def index():
? ? return 'Hello World!'這里app.py導(dǎo)入了views.py,而views.py又導(dǎo)入了app.py,形成一個(gè)循環(huán)導(dǎo)入。
為了解決這個(gè)問題,Flask中采用了應(yīng)用工廠的模式。我們可以這樣重構(gòu)代碼:
在app.py文件中:
def create_app():
app = Flask(__name__)
app.add_url_rule('/', 'index', index)
return app
在views.py文件中:
def index():
return 'Hello World!'
然后在另一個(gè)文件中:
from app import create_app from views import index app = create_app() ?# 創(chuàng)建應(yīng)用
這樣,views.py文件就不需要導(dǎo)入app了,解決了循環(huán)導(dǎo)入的問題。
flask通過應(yīng)用工廠模式,將應(yīng)用的創(chuàng)建和視圖的注冊(cè)分開,從而避免了視圖和應(yīng)用直接相互導(dǎo)入的循環(huán)依賴問題。
到此這篇關(guān)于flask循環(huán)導(dǎo)入的問題解決的文章就介紹到這了,更多相關(guān)flask循環(huán)導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中面向?qū)ο蟮淖⒁恻c(diǎn)概述總結(jié)
大家好,本篇文章主要講的是python中面向?qū)ο蟮淖⒁恻c(diǎn)概述總結(jié),感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02
python判斷all函數(shù)輸出結(jié)果是否為true的方法
在本篇內(nèi)容里小編給各位整理的是一篇關(guān)于python判斷all函數(shù)輸出結(jié)果是否為true的方法,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本
最近工作中有這樣一個(gè)需求:客戶反饋在瀏覽器操作過程中,重復(fù)流程操作太頻繁,能不能讓瀏覽器自動(dòng)操作完成?所以本文給大家介紹了如何使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本,感興趣的朋友可以參考下2024-04-04
Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】
這篇文章主要介紹了Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法,結(jié)合實(shí)例形式分析了Python基于psutil模塊針對(duì)本機(jī)網(wǎng)卡硬件信息的讀取操作簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-05-05
Python?torch.fft.rfft()函數(shù)用法示例代碼
大家應(yīng)該都知道新舊版的torch中的傅里葉變換函數(shù)在定義和用法上有所不同,下面這篇文章主要給大家介紹了關(guān)于Python?torch.fft.rfft()函數(shù)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
Python多進(jìn)程共享numpy 數(shù)組的方法
這篇文章主要介紹了Python多進(jìn)程共享numpy 數(shù)組的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07
用OpenCV進(jìn)行年齡和性別檢測(cè)的實(shí)現(xiàn)示例
這篇文章主要介紹了用 OpenCV 進(jìn)行年齡和性別檢測(cè)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

