美文网首页
Flask之蓝图(Blueprint)

Flask之蓝图(Blueprint)

作者: SkyWatcher | 来源:发表于2015-04-12 00:19 被阅读5617次

    随着功能的添加,路由越来越多,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文档

    相关文章

      网友评论

          本文标题:Flask之蓝图(Blueprint)

          本文链接:https://www.haomeiwen.com/subject/ldatfttx.html