Flask之蓝图(Blueprint)

随着功能的添加,路由越来越多,view层的拆分变成了刚需

方式

  1. 模块Module
  2. 蓝图Blueprint

实现

Module

开始是通过Module来实现,但是运行时收到Flask的提示Module已经被摒弃,建议通过Blueprint来实现,就不在多说,留个Git上别人的实例Module

Blueprint

  • 创建蓝图和路由(errors.py)
from flask import Blueprint
# 创建蓝图
err = Blueprint('err', __name__)
# 404
@err.app_errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404
# test
@err.route('/nimei', methods=['POST', 'GET'])
def nimei():
    return 'nimei'
  • 注册蓝图(__init__.py)
    应用初始化的时候注册蓝图
from errors import err
# 注册蓝图
app.register_blueprint(err)
# 附加前缀
# app.register_blueprint(err, url_prefix='/err')
  • 外部引用(view.py
@app.route('/secret')
@login_required
def secret():
    return redirect(url_for('err.nimei'))

Blueprint还有很多其他的功能比如动态URL前缀等,详情Flask文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容