1.引入蓝图
flask都写在一个文件中,项目这样肯定不行,会导致循环导入的问题,分目录,分包,使用蓝图划分目录。
2.使用蓝图
步骤如下:
-1 实例化得到一个蓝图对象-order_blue=Blueprint('order',__name__,template_folder='../templates')-2 以后注册路由,写请求扩展,都使用蓝图@user_blue.before_request@user_blue.route('/register')-3 在app中注册蓝图from . import userapp.register_blueprint(user.user_blue)app.register_blueprint(user.user_blue,url_prefix='/user')
3 使用蓝图小型项目的目录结构
flask_blueprint_little # 项目名apps # 核心文件__init__.py #包的inin里面实例化得到app对象views # 视图函数,类user.pytemplates #模板lstatic #静态文件manage.py #启动文件
3.1 manage.py
import appsif __name__ == '__main__':apps.app.run()
3.2 apps下面的__init__.py
from flask import Flaskapp = Flask(__name__) #创建app对象from apps.user import user_ace #导入蓝图名字app.register_blueprint(user_ace) #注册蓝图
3.3 user.py
from flask import Blueprintuser_ace = Blueprint('user',__name__) #实例化出一个蓝图对象,一个app一个蓝图@user_ace.route('/',methods=['GET','POST'])
def userabc():return 'user'
4 蓝图大型项目