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