python中蓝图在Flask框架中的地位

什么是蓝图?

蓝图:用于实现单个应用的视图、模板、静态文件的集合。

蓝图就是模块化处理的类。

简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。

1. 为什么使用蓝图?

假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分为老师、学生、后勤人员等类别,那么后续查找和管理这些档案就方便清晰许多。Flask的蓝图就提供了类似“分类”的功能。

2. 蓝图的优势?

Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰、简单易懂。

3. 蓝图的创建及注册

3-1. 定义蓝图(admin/init.py)

从Flask中导入Blueprint类,再创建一个实例即可。Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,大多数情况下第二个参数使用Python 的__name__ 变量即可。

from flask import  Blueprint


# Blueprint接受两个参数实例化,分别为蓝本的名字和蓝本所在的包或模块,
# 大多数情况下第二个参数使用Python 的__name__ 变量即可。
admin =  Blueprint("admin", __name__)

from app.admin.views import  *





3-2. 使用蓝图创建路由


from . import  admin

@admin.route('/')
def index():
    return  "后台主页"


3. 注册蓝图

创建app后,即可注册已创立的蓝图。

from flask import  Flask
from app.admin import  admin as admin_blueprint
from app.home import  home as home_blueprint
from flask_script import  Manager

app = Flask(__name__)
manager = Manager(app)

# 注册admin蓝图, url_prefix='/admin'添加前缀/admin
app.register_blueprint(admin_blueprint, url_prefix='/admin')

# 注册home蓝图, 不添加前缀
app.register_blueprint(home_blueprint)

猜你喜欢

转载自blog.csdn.net/GLH_2236504154/article/details/88871212