当我在另一个模板中包含一个模板时,如何传递源文件的路径?
When I include a template in another template how can I pass the path of a source file?
我有两个放在一起的模板,一个在另一个里面。里面有一个图标,需要根据父模板的内容变化。
我尝试使用变量传递图标路径:
src="{% url 'main_bar_icon' %}">
我在父模板中添加了这行代码:
{% with main_bar_icon='../static/dist/img/logout-icon.svg' %}
{% include 'main_bar.html' %}
{% endwith %}
所以,这是我的内部模板:
{% block main_bar %}
<a href="">
<img class="app-main-bar-icon"
src="{% url 'main_bar_icon' %}">
</a>
{% endblock main_bar %}
这是我的父模板:
{% block content %}
{% with main_bar_icon='/dist/img/logout-icon.svg' %}
{% include 'main_bar.html' %}
{% endwith %}
{% endblock content%}
在浏览器中我得到这个:
<img class="app-main-bar-icon" src(unknown) alt="icon">
不幸的是,{% url ... %}
模板标签只能用于检索在 urlpatterns
.
中定义的视图的 url
根据您的需要,您需要:
使用普通变量,因为您已经为变量分配了路径,只需:<img class="app-main-bar-icon" src="{{ main_bar_icon }}">
或者,为了更适合未来的解决方案,您可以配置 django static files 并使用 {% with main_bar_icon='dist/img/logout-icon.svg' %}
然后 <img class="app-main-bar-icon" src="{% static main_bar_icon %}">
我有两个放在一起的模板,一个在另一个里面。里面有一个图标,需要根据父模板的内容变化。
我尝试使用变量传递图标路径:
src="{% url 'main_bar_icon' %}">
我在父模板中添加了这行代码:
{% with main_bar_icon='../static/dist/img/logout-icon.svg' %}
{% include 'main_bar.html' %}
{% endwith %}
所以,这是我的内部模板:
{% block main_bar %}
<a href="">
<img class="app-main-bar-icon"
src="{% url 'main_bar_icon' %}">
</a>
{% endblock main_bar %}
这是我的父模板:
{% block content %}
{% with main_bar_icon='/dist/img/logout-icon.svg' %}
{% include 'main_bar.html' %}
{% endwith %}
{% endblock content%}
在浏览器中我得到这个:
<img class="app-main-bar-icon" src(unknown) alt="icon">
不幸的是,{% url ... %}
模板标签只能用于检索在 urlpatterns
.
根据您的需要,您需要:
使用普通变量,因为您已经为变量分配了路径,只需:
<img class="app-main-bar-icon" src="{{ main_bar_icon }}">
或者,为了更适合未来的解决方案,您可以配置 django static files 并使用
{% with main_bar_icon='dist/img/logout-icon.svg' %}
然后<img class="app-main-bar-icon" src="{% static main_bar_icon %}">