美文网首页
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