一、蓝图概念
蓝图(blueprint):用于实现单个应用的视图、模板、静态文件的集合。
蓝图就是模块化处理的类。类似于django中app,子应用。
简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。
flask中,将项目模块化,blueprint,是flask自带的一种开发模式,目的是为了方便开发大型的项目。
二、使用蓝图三步走
我们以一个简单的例子来实现蓝图三步走吧!
首先我们创建一个新项目
我们将在app.py文件中实现我们的蓝图,
# 学习蓝图
from flask import Flask
from flask import Blueprint
app = Flask(__name__)
# 1、创建一个蓝图模板
main_blue = Blueprint("main", __name__)
# 2、 定义视图函数 使用蓝图配置路由
@main_blue.route("/")
def home():
return "欢迎来到90年代!"
@main_blue.route("/login")
def login():
return "登录成功"
# 3、把蓝图 注册到 app上
app.register_blueprint(main_blue)
实际开发中,以上操作相对低级了些,那么我们改造一下,来使它华丽转身吧!
我们将蓝图部分转移,创建新文件夹,比如命名为apps,再在其中创建文件mainblue
将蓝图部分转移到mainblue文件内
from flask import Blueprint
# 1.创建一个蓝图模板
main_blue = Blueprint("name",__name__)
# 2.定义视图函数 配置蓝图路由
@main_blue.route("/")
def home():
return "欢迎来到90年代!"
@main_blue.route("/login")
def login():
return "登录成功!"
那么我们的app.py文件内,就剩下了基本操作部分,
# 学习蓝图 from flask import Flask from apps.mainblue import main_blue app = Flask(__name__) # 3.把蓝图注册到app上 app.register_blueprint(main_blue,url_prefix="/main") print(app.url_map)
运行后结果如图所示:



