flask:蓝图--blueprint
一、蓝图
1、什么是蓝图?(WHAT)
1)蓝图就是模块化处理的类
2)用于实现单个应用的视图、模板、静态文件的集合
总结:蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能
2、为什么使用蓝图?(WHY , WHERE)
1)我们所有的视图函数都写在了一个文件当中,当我们的业务越来复杂的时候。视图函数也会变得越来越多,导致阅读不方便,维护起来困难等难题
2)当我们以功能或模块将不同的代码进行分离,写入对应的蓝图里,可以加速我们管理项目的速度,解决上诉问题。
3、如何使用蓝图?(HOW)
文件目录
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Blueprint app1 = Blueprint('app01',__name__) from . import views
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from . import app1 @app1.route('/index01') def show(): return 'app01.hello' #下面可以写关于app1的其他函数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Blueprint app2 = Blueprint('app02',__name__) from . import views
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from . import app2 @app2.route('/index02') def show(): return 'app02.hello' #下面继续关于app02的其他视图函数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from flask import Flask from app01 import app1 from app02 import app2 app = Flask(__name__) app.register_blueprint(app1) #url_prefix:指定域名前缀 app.register_blueprint(app2,url_prefix='/app02') app.register_blueprint(app1,url_prefix='/app03') app.register_blueprint(app2,url_prefix='/app04') if __name__=='__main__': app.run() #http://127.0.0.1:5000/index01 app01.hello #http://127.0.0.1:5000/app02/index02 app02.hello #http://127.0.0.1:5000/app03/index01 app01.hello #http://127.0.0.1:5000/app04/index02 app02.hello
二、使用蓝图创建一个类django的项目工程