其他分享
首页 > 其他分享> > 18、用蓝图细分路由

18、用蓝图细分路由

作者:互联网

定义第一个蓝图 news.py

# -*- coding:utf-8 -*-
from flask import Blueprint  # 导入Blueprint模块

new_list = Blueprint("news", __name__)  # 创建一个blueprint对象。第一个参数可看做该blueprint对象的姓名
# 在一个app里,姓名不能与其余的Blueprint对象姓名重复
# 第二个参数__name__用作初始化
@new_list.route("/news")  # 将蓝图对象当做‘app’那样使用
def new():  # 定义函数news()
    return "这是新闻模块!"

定义第二个蓝图 products.py

# -*- coding:utf-8 -*-
from flask import Blueprint  # 导入Blueprint模块

product_list = Blueprint(
    "products", __name__
)  # 创建一个blueprint对象。第一个参数可看做该blueprint对象的名字
# 在一个app里,对象名不能与其余的Blueprint对象名重复
# 第二个参数__name__用作初始化
@product_list.route("/products")  # 将蓝图对象当做‘app’那样使用
def product():
    return "这是产品模块!"

创建主程序

# -*- coding:utf-8 -*-
from flask import Flask  # 导入Flask模块
import news, products  # 导入蓝图

app = Flask(__name__)  # 创建 Flask()对象: app


@app.route("/")  # 使用了蓝图,app.route() 这种模式就仍可以使用,注意路由重复的问题
def hello_world():  # 定义函数
    return "hello my world !"  # 返回值


# 将news模块里的蓝图对象new_list注册到app
app.register_blueprint(news.new_list)
# 将products模块里的蓝图对象product_list注册到app
app.register_blueprint(products.product_list)
if __name__ == "__main__":
    app.run(debug=True)  # 调试模式开 启动服务器 运行在默认的5000端口

参考资料

https://weread.qq.com/web/reader/0a932660718ac6bc0a9702e

标签:__,Blueprint,18,app,蓝图,list,news,路由
来源: https://www.cnblogs.com/tiansz/p/16341151.html