跳至主要內容

蓝图

Mr.Liu小于 1 分钟

蓝图

概念

Blueprint 是一种组织一组相关视图及其他代码的方式。

类似于django的子应用,把功能相似的代码组织在一起,使用蓝图管理,最后在 工厂函数中注册蓝图即可。

流程

代码结构

├── app.py  # 项目的入口文件,需要将蓝图导入,并注册
└── book  # 创建的python包
    ├── __init__.py  # 在此创建蓝图,管理其余代码
    └── views.py  # 视图

视图

book/views.py

from flask import jsonify


def book_list():
    return jsonify(['图书1', '图书2'])

蓝图创建

book/__init__.py

from flask import blueprints
from .views import *

book = blueprints.Blueprint('book', __name__, url_prefix='')

# 对视图配置路由
book.add_url_rule('book/list/', view_func=book_list)

主APP

app.py

from flask import Flask
from book import book  # 从book包中导入名叫book的蓝图对象

app = Flask(__name__)
app.config['DEBUG'] = True
app.register_blueprint(book)  # 注册蓝图对象

if __name__ == '__main__':
    app.run()