2017-07-17 5 views
0

私のJinja2 HTMLページの先頭に追加するコードは1行あります。私は他のメタタグなどとして簡単に追加できますが、このコードは1ページにしか必要ではありません。そのため、サイトのヘッダーにそのコードを保持する理由はありません。1つのJinjaテンプレート内のスクリプトにリンクする

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 %} 

私はまた、ブロックとレイアウトファイルでそれを実行しようとしましたが、それはあまりにも失敗しました。私は他のページにそれを追加することなく、page.htmlの先頭にスクリプトタグを追加することができますどのように

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

答えて

3

ブロックを使用しますが、デフォルトでは空のままにして、page.htmlに設定します。

layout.html

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

page.html

{% block head_js %}<script src='https://example.com/api.js'></script>{% endblock %} 
関連する問題