Flask藍圖基本使用
阿新 • • 發佈:2019-05-02
Nid imp igp avs lca mono 視圖 zcm markdown
Flask藍圖基本使用
Flask通過使用藍圖將視圖函數模塊化,使應用顯得更加規整
比如我們的應用的視圖函數包括用戶相關和文章相關,那麽我們可以通過建立兩個py文件分別存儲兩類視圖函數
user.py:
from flask import Blueprint
from flask import render_template
from flask import request
user = Blueprint(‘user‘, __name__)
@user.route(‘/login‘, methods=[‘GET‘, "POST"])
def login():
return render_template(‘login.html‘)
article.py:
from flask import Blueprint
from flask import render_template
from flask import request
article = Blueprint(‘article‘, __name__)
@article.route(‘/article‘, methods=[‘GET‘])
def login():
return render_template(‘article.html‘)
此時將這兩個py文件放入同一個叫做app的包中並添加init文件:
from flask import Flask
from .article import article
from .user import user
app = Flask(__name__)
app.debug = True
app.register_blueprint(article)
app.register_blueprint(user)
在init文件中相當於完成了藍圖的註冊
然後在app包中添加templates文件夾來存放模板文件
最後在app包外添加run.py
from app import app
if __name__ == ‘__main__‘:
app.run()
執行run文件即可啟動flaskapp
這裏的藍圖對象的創建還有其他的參數:
user = Blueprint(
‘user‘,
__name__,
url_prefix=‘/user‘ # 該藍圖下的url前面都加上user/
subdomain=‘user‘ # 匹配子域名
template_folder=‘templates‘, # 自定義的模板文件夾,從同級目錄找
static_folder=‘static‘ # 自定義的靜態文件文件夾,從同級目錄找
)
?
Flask藍圖基本使用