1、介绍
蓝图在官网的介绍如下:
Flask 中的蓝图为这些情况设计:- 把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。
- 以 URL 前缀和/或子域名,在应用上注册一个蓝图。 URL 前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下)。
- 在一个应用中用不同的 URL 规则多次注册一个蓝图。
- 通过蓝图提供模板过滤器、静态文件、模板和其它功能。一个蓝图不一定要实现应用或者视图函数。
- 初始化一个 Flask 扩展时,在这些情况中注册一个蓝图。
2、示例代码
在文件__init__.py文件中
from app.exceptions import errorsfrom flask import Blueprintfrom flask_restful import Apifrom app.vpc.views import VPCDetailApi, VPCApi, VPCListApivpc_api_bp = Blueprint("vpc_api_bp", __name__)vpc_api = Api(vpc_api_bp, prefix='/vpcs', errors=errors)vpc_api.add_resource(VPCApi, '')vpc_api.add_resource(VPCDetailApi, '/detail')vpc_api.add_resource(VPCListApi, '/list')
3、代码说明
- 实例化一个蓝图
vpc_api_bp = Blueprint("vpc_api_bp", __name__)
通过实例化一个Blueprint类对象可以创建蓝本。这个构造函数有两个必须指定的参数:蓝本的名字和蓝本所在的包或模块。和程序一样,大多数情况下第二个参数使用Python的__name__变量即可。
2、注册蓝图# 注册蓝图app.register_blueprint(admin)# 如果指定url前缀app.register_blueprint(admin, url_prefix="/admin")