1. 程式人生 > 其它 >flask學習第五天 藍圖管理url

flask學習第五天 藍圖管理url

技術標籤: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了
資料夾結構

在這裡插入圖片描述