Blueprint是flask框架中进行多模块应用的编写方式之一,在使用flask框架进行编写项目的时候,可能会有许多个模块,如前台和后台再有手机版.....。如果把所有的模块都写在一个.py文件中,那么这个文件将非常的臃肿,极难维护,而且看也也不美观。所以flask框架就引入了Blueprint(蓝图)的概念。可以将一个.py文件分离到多个模块中。
模块分离后的结构为
此文件结构中manage.py为入口文件,包admin为后台,包home为前台,views.py文件为视图
业务编写,定义各模块中的Blueprint
admin模块 __inti__.py
from flask import Blueprint admin=Blueprint('admin',__name__) #定义蓝图对象 import app.admin.views
视图views.py
from . import admin @admin.route('/') def index(): return '后台在此'
home模块 __init__.py
from flask import Blueprint home=Blueprint('home',__name__) import app.home.views
视图views.py
from . import home @home.route('/') def index(): return '我是前台'
项目app下的配置文件__init__.py
from flask import Flask app=Flask(__name__) #app.debug=True from app.home import home as home_blueprint #引入蓝图对象 from app.admin import admin as admin_blueprint app.register_blueprint(home_blueprint) app.register_blueprint(admin_blueprint,url_prefix='/admin')
入口文件manage.py
from app import app if __name__ == '__main__': app.run(debug=True)
运行入口文件
总结: