flask一般專案結構
初始化配置flask專案時,路由和視圖是放在啟動檔案里的,這樣不太方便我們后期的整理和查閱!
因此,我們需要將專案啟動檔案和路由視圖分開處理!
- 在專案檔案下創建一個apps的包,在包的初始化檔案里定義一個函式,用來實作app相關的功能
init.py
from flask import Flask
import settings
def create_app():
app = Flask(__name__) # 生成app物件
app.config.from_object(settings) # 加載app的初始化配置
# 注冊藍圖
app.register_blueprint() #括號里系結對應的藍圖物件
return app # 將app物件回傳出去
- 然后在專案檔案下的app.py里引入創建app物件的方法,得到創建好的app物件
from apps import create_app
app = create_app()
if __name__ == '__main__':
# 運行app模塊
app.run()
- 將templates和static檔案夾拖到apps這個包內,或者在創建app物件的時候添加以下代碼,指定靜態檔案和模板檔案夾的查找位置
app = Flask(__name__,template_folder='',static_folder='') # 生成app物件
template_folder和static_folder是指定查找對應靜態檔案和模板檔案的位置
flask藍圖
- 在apps包里的各個模塊包里新建一個view.py,用來寫對應的視圖和路由關系
from flask import Blueprint # 引入藍圖模塊類
# 創建藍圖物件
# 第一個引數是給這個藍圖物件起一個名,第二個是匯入名,url_prefix='/user'其實就是路由分發的意思,防止各個藍圖的路由重復
user_bp = Blueprint('user',__name__,url_prefix='/user')
@user_bp.route('/') #由藍圖物件實作的路由
def user_home():
return '用戶中心'
- 創建完藍圖物件,需要到包的初始化檔案里注冊一下藍圖物件
app.register_blueprint() #括號里系結對應的藍圖物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539695.html
標籤:其他
