Flask 蓝图

什么是蓝图

在flask项目中可以用Blueprint(蓝图)实现模块化的应用,使用蓝图可以让应用层次更清晰,开发者更容易去维护和开发项目。蓝图将作用于相同的url的前缀的请求地址,将具有相同前缀的请求都放在一个模块中

使用蓝图

安装

pip install flask_blueprint

实例化蓝图应用

blue = Blueprint('first', __name__)

注: Blueprint中传入了两个参数,第一个蓝图的名称,第二个是蓝图所在的包或模块,__name__代表当前模块名或包名

注册

app = Flask(__name__)
app.register_blueprint(blue, url_prefix='/user')

注:第一个参数即我们定义初始化定义的蓝图对象,第二个参数url_prefix表示该蓝图下,所有的url请求必须以/user开始。这样对一个模块的url可以很好的进行统一管理

实例

修改视图上的装饰器,修改为@blue.router('/')

@blue.route('/', methods=['GET', 'POST'])
def hello():
    # 视图函数
    return 'Hello World'

注:该方法对应的url为127.0.0.1:5000/user/

url_for 反向解析

语法:

url_for('蓝图中定义的第一个参数.函数名', 参数名=value)

定义跳转:

from flask import url_for, redirect

@blue.route('/redirecet/')
def make_redirect():
    # 第一种方法
    return redirect('/hello/index/')
    # 第二种方法
    return redirect(url_for('first.index'))

你可能感兴趣的:(Flask 蓝图)