如何在Flask模板中动态使用include?

时间:2013-06-05 01:01:16

标签: templates flask jinja2

我有一个烧瓶后端向客户端发送数据。然后,客户端上的一些JS利用该数据构建一个页面,其中包含一行数据,另一个区域位于行下方,其中d3显示可点击节点。

节点具有与后端中不同模型和不同html模板相对应的不同属性。给定类型,单击时,上面的行中会显示不同的html模板。

如何从JS设置模板?我尝试过这样的事情:

$("#div_id").innerHTML = "{% set obj = " + obj + "%}{% include '" + obj_template_file + "' %}"

那(当然可能)没有用。在处理转义之后,它只显示该字符串。我想到了这样做的肮脏方式,比如使用hide和show自由显示,但这似乎并不明智。

1 个答案:

答案 0 :(得分:1)

虽然不清楚“向客户端发送数据”是什么意思。 您可以从以下路由传递base_template参数:

@auth.route('/<path:path>', methods=['GET', 'POST'])
def password_reset_request():
    if path ==2:
         base_template = "jay.html"
    if path ==3:
         base_template = "blue.html"
    ...
    return render_template('auth/reset_password.html', base_template=base_template)

并在模板上:

{% extends base_template %}

从你的javascript前端开始,你只需要获取URL。