我想将一行代码添加到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
的头部?
答案 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 %}