什么是蓝图
蓝图:用于实现单个应用的视图、模板、静态文件的集合。蓝图就是模块化处理的类。
为什么要用蓝图
随着业务代码的增加,把所有的代码都写进一个程序文件中是非常不合适的,这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦 因此我们需要让代码模块化。根据具体不同功能模块的实现,划分成不同的分类,降低各功能模块之间的耦合度。python中的模块制作和导入就是基于实现功能模块的封装的需求。 然而python中的模块化虽然能把代码给拆分开,但不能解决路由映射的问题
1. 蓝图作用
1,将不同的功能模块化
2,构建大型应用
3,优化项目结构
4,增强可读性,易于维护
2. 如何用蓝图实现模块化的应用
2.1. 定义蓝图
根据路径创建对应文件init.py
app/admin/__init__.py:
from flask import Blueprint
admin = Blueprint("admin",__name__)
import app.admin.views
app/api/__init__.py:
from flask import Blueprint
api = Blueprint("api",__name__)
import app.api.views
2.2. 注册蓝图
app/_init_.py:
from flask import Flask
app = Flask(__name__)
app.debug = True
from app.api import api as api_blueprint
from app.admin import admin as admin_blueprint
# 127.0.0.1:8080/
# 127.0.0.1:8080/api/
app.register_blueprint(admin_blueprint)
app.register_blueprint(api_blueprint,url_prefix="/api")
2.3. 调用蓝图
app/api/views.py:
from . import api
@api.route('/')
def index():
return 'api首页'
app/admin/views.py:
from . import admin
@admin.route('/')
def index():
return '后台首页'
2.4. 入口文件
app同级目录下创建manage.py (注意 与app目录同级,不是与admin api同级!)
from app import app
if __name__ == '__main__':
app.run(debug=True)