当前位置:   article > 正文

Flask项目中的蓝图简介及使用方式(二十三)_flask 蓝图详细介绍

flask 蓝图详细介绍

参考文档:https://blog.csdn.net/qq_38648652/article/details/103833707

1、蓝图的基本使用
  • main.py代码
from flask import Flask
from goods import app_goods

#循环引用,解决方法,推迟一方的导入,让例外一方完成
app = Flask(__name__)
#注册蓝图(注册goods模块下的蓝图对象,就可以访问相应的路径)
app.register_blueprint(app_goods)


@app.route('/')
def index():
    return "index page"


if __name__ == '__main__':
    print(app.url_map)
    app.run(host='0.0.0.0', debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • goods.py代码
# from main import app
from flask import Blueprint

#创建一个蓝图的对象,蓝图是一个小模块抽象的概念
app_goods = Blueprint("app_goods", __name__)


@app_goods.route('/goods', methods=['GET', 'POST'])
def goods():
    return 'goods page'


@app_goods.route('/hu')
def hu():
    return 'hu page'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
2、以目录的的形式定义蓝图
  • 在括号里面添加url_prefix来进行添加一个请求路径,请求的时候必须拼接它才可以访问其他的。
app.register_blueprint(app_goods, url_prefix="/goods_route")
  • 1
  • 截图目录如下和各个文件的代码
  • main.py代码
from flask import Flask
from goods import app_goods
from cart import app_cart

#循环引用,解决方法,推迟一方的导入,让例外一方完成
app = Flask(__name__)


#注册蓝图(注册goods模块下的蓝图对象,就可以访问相应的路径)
app.register_blueprint(app_goods, url_prefix="/goods_route")
app.register_blueprint(app_cart, url_prefix="/cart")


@app.route('/')
def index():
    return "index page"


if __name__ == '__main__':
    print(app.url_map)
    app.run(host='0.0.0.0', debug=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • __init__.py代码(当templates下有html文件的时候,就要加template_folder=“templates”)
from flask import Blueprint

app_cart = Blueprint("app_cart", __name__, template_folder="templates")

#在__init__.py文件被执行的时候,把视图加载进来,让蓝图与应用程序知道有视图的存在
from .views import hu
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • views.py代码
from . import app_cart


@app_cart.route('/hu1')
def hu():
    return render_template("cart.html")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 启动后的路径映射截图
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/587040
推荐阅读
相关标签
  

闽ICP备14008679号