0
我使用Jinja2來渲染我的前端(並且python在後端)。每個頁面都會有不同的圖像在其頂部,這樣的:Jinja2中的url_for()中的塊標記
<header>
<img src="static/img/pic1.png">
</header>
我以前url_for()讓我的靜態文件夾的正確路徑:
<header>
<img src="{{ url_for('static', filename='img/pic1.png') }}">
</header>
到目前爲止,一切都很好。但我想在文件名參數中加入一個塊,這樣我就可以重新使用代碼並只覆蓋圖像的名稱。這就是我想:
<header>
<img src="{{ url_for('static', filename='{% block img %}img/pic1.png{% endblock %}') }}">
</header>
但它不工作,這是一個被渲染的Jinja2最終代碼:
<header>
<img src="/static/%7B%25%20block%20img%20%25%7Dimg/pic1.png%7B%25%20endblock%20%25%7D">
</header>
正如你所看到的,Jinja2的不承認將塊標記爲表達式並將其視爲字符串。如果它能工作,我將能夠使用此代碼設置每個頁面的圖片:
{% extends "base.html" %}
{% block img %}img/pic2.png{% endblock %}
...
請問有人可以幫忙嗎?順便說一下,this後沒有幫助我。
怎麼其他頁面將重用這個代碼來生成*例如IMG/PIC2 *? – renatov
那麼我添加鏈接到文檔(這是非常好的)和一個小例子。 –
謝謝,它的工作,但我不必導入,如果我只擴展具有宏的模板。如果可以的話,請在沒有導入的情況下舉個簡單的例子,我會選擇你的帖子作爲回答,以供進一步參考。 – renatov