flask循環(huán)導入的問題解決
循環(huán)導入是指兩個文件相互導入對方,形成一個導入循環(huán)。這會導致Python無法確定哪個模塊應該先導入,進而出現(xiàn)錯誤。
舉個Flask中的例子:
在app.py文件中:
from views import index ?# 從views.py導入index視圖
app = Flask(__name__)
app.add_url_rule('/', 'index', index) ?# 注冊index視圖在views.py文件中:
from app import app ?# 從app.py導入app應用
@app.route('/')
def index():
? ? return 'Hello World!'這里app.py導入了views.py,而views.py又導入了app.py,形成一個循環(huán)導入。
為了解決這個問題,Flask中采用了應用工廠的模式。我們可以這樣重構代碼:
在app.py文件中:
def create_app():
app = Flask(__name__)
app.add_url_rule('/', 'index', index)
return app
在views.py文件中:
def index():
return 'Hello World!'
然后在另一個文件中:
from app import create_app from views import index app = create_app() ?# 創(chuàng)建應用
這樣,views.py文件就不需要導入app了,解決了循環(huán)導入的問題。
flask通過應用工廠模式,將應用的創(chuàng)建和視圖的注冊分開,從而避免了視圖和應用直接相互導入的循環(huán)依賴問題。
到此這篇關于flask循環(huán)導入的問題解決的文章就介紹到這了,更多相關flask循環(huán)導入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python數據可視化 pyecharts實現(xiàn)各種統(tǒng)計圖表過程詳解
這篇文章主要介紹了Python數據可視化 pyecharts實現(xiàn)各種統(tǒng)計圖表過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
python django下載大的csv文件實現(xiàn)方法分析
這篇文章主要介紹了python django下載大的csv文件實現(xiàn)方法,結合實例形式分析了Django框架下載csv大文件的相關操作技巧與注意事項,需要的朋友可以參考下2019-07-07
詳解centos7+django+python3+mysql+阿里云部署項目全流程
這篇文章主要介紹了詳解centos7+django+python3+mysql+阿里云部署項目全流程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Python實現(xiàn)將Excel轉換成為image的方法
今天小編就為大家分享一篇Python實現(xiàn)將Excel轉換成為image的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python循環(huán)控制之break和continue流程控制語句
這篇文章主要介紹了python循環(huán)控制之break流程控制語句,Python中提供了兩個關鍵字用來控制循環(huán)語句,分別是break和continue,本文都有介紹,需要的朋友可以參考一下2022-03-03

