Flask 中的 蓝图
蓝图,听起来就是一个很宏伟的东西
在Flask中的蓝图 blueprint 也是非常宏伟的
它的作用就是将 功能 与 主服务 分开怎么理解呢?
比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将
查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中
from flask import Blueprint
不能被run的Flask实例 没有Config
蓝图作用 - app隔离,URL管理
#蓝图
from flask import Blueprint sv=Blueprint('sv',__name__) @sv.route("/svlist") def view_list(): return "hahaha"
#manage文件
from flask import Flask # 导入蓝图模块 from student_view import s_view # 实例化 app = Flask(__name__) # 注册 app.register_blueprint(s_view.sv) if __name__ == '__main__': app.run()
.如何理解蓝图呢?
其实我们可以理解成一个没有run方法的Flask对象
下面来看一下
from flask import Blueprint, render_template sv=Blueprint('sv',__name__, # 每个蓝图都可以为自己独立出一套template模板文件夹, # 如果不写则共享项目目录中的templates template_folder='sv_template', # 静态文件目录也是可以独立出来的 static_folder='sv_static') @sv.route("/svlist") def view_list(): return render_template("svlist.html")
from flask import Flask # 导入蓝图模块 from student_view import s_view # 实例化 app = Flask(__name__) # 注册 app.register_blueprint(s_view.sv) if __name__ == '__main__': app.run()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> svlist 界面 <img src="/sv_static/1.png" alt=""> </body> </html>
待续。。。。。。。