3

我有一个带有 jinja 宏的烧瓶应用程序,看起来像这样

{% macro icon(site, title="") %}
    <img src="{{ url_for('static', filename="icons/XXX.png") }}" alt="{{ title }}" class="img-icon">
{% endmacro %}

我需要做的是让文件名等于site传递给宏的变量。所以它的值应该是site.而不是 XXX

有没有办法做到这一点?

4

2 回答 2

9

这应该有效:

{% macro icon(site, title="") %}
    <img src="{{ url_for('static', filename='icons/%s.png' % site) }}" alt="{{ title }}" class="img-icon">
{% endmacro %}
于 2012-10-25T14:56:38.570 回答
6

自 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 %}
于 2014-03-25T13:16:47.773 回答