【发布时间】:2019-12-04 18:56:13
【问题描述】:
我有一个用 Flask 构建的网站。它有几个部分,每个部分都有一个专用的蓝图。每个蓝图中的模板都扩展了一个基本模板,该模板具有每个页面的基本布局,包括一个带有每个部分的选项卡的导航栏。
我想让基础模板突出显示当前选项卡,因此它需要知道哪个蓝图的视图正在处理请求。
我想出的一种方法是为每个蓝图添加一个before_request 处理程序并将名称存储在g 中:
bp = Blueprint('blog', __name__, url_prefix='/blog')
@bp.before_request
def set_bp_name():
g.section = 'blog'
但是 Flask 必须知道哪个蓝图正在处理请求(如果有的话),并且蓝图当然知道它自己的名称。有没有办法让模板获取当前蓝图的名称而不需要修改每个蓝图?
【问题讨论】: