我有一个带有 jinja 宏的烧瓶应用程序,看起来像这样
{% macro icon(site, title="") %}
<img src="{{ url_for('static', filename="icons/XXX.png") }}" alt="{{ title }}" class="img-icon">
{% endmacro %}
我需要做的是让文件名等于site
传递给宏的变量。所以它的值应该是site
.而不是 XXX
有没有办法做到这一点?
这应该有效:
{% macro icon(site, title="") %}
<img src="{{ url_for('static', filename='icons/%s.png' % site) }}" alt="{{ title }}" class="img-icon">
{% endmacro %}
自 2.6 ( pep-3101 )以来,python 中字符串格式化的推荐方法是使用str.format()
:
{% macro icon(site, title="") %}
<img src="{{ url_for('static', filename='icons/{0}.png'.format(site)) }}" alt="{{ title }}" class="img-icon">
{% endmacro %}