1. 程式人生 > >Flask藍圖基本使用

Flask藍圖基本使用

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藍圖基本使用