url_for里面包含jinja2

时间:2012-06-27 20:44:33

标签: python flask jinja2

我正在使用带有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。不幸的是,我似乎无法让这个工作,大概是因为嵌套{%{{}}%}。

这可能吗?

1 个答案:

答案 0 :(得分:2)

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

你想要的是{{ buttons() }} buttons buttons功能(或{{ buttons }} buttons=buttons() render_template()}传递给render_template() {1}}通过全局模板上下文调用或提供。