蓝图的使用方法上文已进行叙述,本文讲述以目录形式定义蓝图,首先新建一个cart包,在包内新建view.py文件存放对应视图函数,如下图:
init.py文件是cart包的初始化函数,在这里创建一个蓝图对象并将对应的视图函数加载进来,代码如下:
from flask import Blueprint
# 创建一个蓝图的对象,蓝图就是一个小模块的抽象的概念
app_cart = Blueprint("app_cart", __name__)
# 在__init__.py文件被执行的时候,把视图加载进来,让蓝图与应用程序知道有视图的存在
from .view import one, two
编写view.py文件,对应的视图函数代码如下:
from . import app_cart
# 利用蓝图对象定义具体的视图函数
@app_cart.route("/hello")
def one():
return "hello cart"
@app_cart.route("/world")
def two():
return "world cart"
返回main.py文件,将cart包中的视图函数导入,代码如下:
from flask import Flask
# 导入蓝图模块
from orders import app_orders
# 从cart包中导入蓝图
from cart import app_cart
app = Flask(__name__)
# 注册蓝图
# app.register_blueprint(app_orders)
# 注册增加前置目录
app.register_blueprint(app_orders, url_prefix="/orders")
# 以目录的形式定义视图
app.register_blueprint(app_cart, url_prefix="/cart")
@app.route("/")
def start():
return "This is the beginning"
if __name__ == '__main__':
print(app.url_map)
app.run(debug=True, host="127.0.0.1", port=8000)
运行效果如下:
可以看到对应的视图函数成功添加进来了,以上就是Flask中用目录形式定义蓝图的基本方法,各位读者有疑问的可以私信博主或评论留下足迹。