Bootstrap

Python进阶(四十九)初识Flask Blueprint_python blueprint

不同蓝本分别位于不同的Python包中,而蓝图的创建则位于Python包下的__init__.py文件。不同Python包下的views.py文件则对应不同蓝本下的路由。

在示例项目中,auth授权包下的蓝本创建代码如下:

from flask import Blueprint

auth = Blueprint('auth', __name__)

from . import forms, views

上面的蓝本创建语句创建了名为“auth”的蓝本。之所以将from . import forms, views导包语句置于__init__.py末尾,是为了避免循环导入依赖,因为在views.py中还要导入蓝本auth。

Views.py文件内容如下:

from flask import request, flash, render_template, redirect, url_for
from . import auth
from web_flask.app.dal_pymysql import DataManager

# 管理员登录
@auth.route('/login', methods=['POST'])
def login():
    form = request.form
    # 由于request中的form参数以字典的形式存在,故以下语句等价
    uname = request.form['username']
    pwd = request.form['password']

在这里使用from . import auth方式导入所需蓝本。蓝本的注册语句则置于项目创建的工厂方法中,注册代码如下&

;