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 user
app.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.py
templates #模板
l
static #静态文件
manage.py #启动文件
3.1 manage.py
import apps
if __name__ == '__main__':
apps.app.run()
3.2 apps下面的__init__.py
from flask import Flask
app = Flask(__name__) #创建app对象
from apps.user import user_ace #导入蓝图名字
app.register_blueprint(user_ace) #注册蓝图
3.3 user.py
from flask import Blueprint
user_ace = Blueprint('user',__name__) #实例化出一个蓝图对象,一个app一个蓝图
@user_ace.route('/',methods=['GET','POST'])
def userabc():
return 'user'
4 蓝图大型项目