仅在一个Jinja模板中链接到脚本

时间:2017-07-17 16:41:48

标签: python flask jinja2

我想将一行代码添加到Jinja2 HTML页面的头部。我可以轻松地将其添加为任何其他元标记等,但我只需要在一个页面中使用此代码,因此没有理由将其保留在网站的标题中。

我尝试将其作为字符串传递给render_template,但它并未出现在最终渲染中。

@app.route('/page')
def page():
    str = "<script src='https://site.xy/api.js'></script>"

    return render_template('page.html', script_string = str)

page.html

{% extends "layout.html" %}
{{script_string}}
{% block content %}

我也尝试在带有块的布局文件中执行此操作,但它也失败了。

{% block js %}<script src='https://site.xy/api.js'></script>{% endblock %}

如何在不将其添加到任何其他页面的情况下将脚本标记添加到page.html的头部?

1 个答案:

答案 0 :(得分:4)

使用该块,但默认情况下将其保留为空,并将其设置为page.html

layout.html

<head>
    {% block head_js %}{% endblock %}
</head>

page.html

{% block head_js %}<script src='https://example.com/api.js'></script>{% endblock %}