flask學習第五天 藍圖管理url
阿新 • • 發佈:2021-02-07
技術標籤:python
之前我們寫的url和檢視函式都是處在同一個檔案,如果專案比較大的話,這顯然不是一個合理的結構,而藍圖可以優雅的幫我們實現這種需求。
藍圖
from flask import Blueprint, render_template
"""
def __init__(
self,
name,
import_name, # __name__
"""
book_bp = Blueprint('book', __name__)
# template_folder=None, 定義資料夾 定義和不定義尋找位置是不一樣的
# 會有一個優先順序 會先去templates裡面找 如果沒用才回去定義的資料夾裡面去找
# 如果設定了這個屬性就會在定義的檔案裡面找
# 如果沒用定義就會返回到呼叫的頁面去templates裡面找
# 設定後會多出一個裝html檔案不是很好管理
@book_bp.route('/hello')
def book():
return render_template('/book.html')
@book_bp.route('/detail/< bid>')
def book_detail(bid):
return f'這是圖書第{bid}頁'
然後在執行檔案中
from flask import Flask
from blueprints import book
app = Flask(__name__)
# 註冊藍圖
app.register_blueprint(book.book_bp)
if __name__ == '__main__':
app.run(debug=True)
就這樣藍圖就ok了
資料夾結構