【问题标题】:url_for inside include with jinja2url_for 里面包含 jinja2
【发布时间】:2012-06-27 20:44:33
【问题描述】:

我正在使用带有 jinja2 模板的烧瓶,其中包括另一个名为 buttons.html 的 jinja2 模板。

按钮模板的父级如下所示:

{% include "{{ url_for('.buttons') }}" %}

蓝图代码如下所示:

@whatever_blueprint.route('/whatever/buttons.html', methods=['GET'])
def buttons():
    return render_template('/whatever/buttons.html')

这让我可以利用 jinja 将解决 .为当前蓝图上下文添加前缀 url_for 路径,从而为我提供专门为渲染它的蓝图渲染的按钮。我在其他情况下使用 .prefix 方法,但在这种情况下没有尝试过嵌套的 url_for 。不幸的是,我似乎无法让它工作,大概是因为嵌套的 {% {{ }} %}。

这可能吗?

【问题讨论】:

  • 点('.​​buttons')是干什么用的?

标签: python flask jinja2


【解决方案1】:

不幸的是(或幸运的是?大多数用例会相当难看)您不能包含 URL,只能包含模板。

您想要的是{{ buttons() }}buttonsbuttons 函数(或{{ buttons }}buttons=buttons()render_template())传递给render_template() 调用或通过全局模板上下文提供。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2017-02-18
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2019-02-22
    相关资源
    最近更新 更多