0

我正在尝试设置一个过滤器,它接受一个字符串值并返回一个图像元素,但我不能让它返回绝对值,只是通过硬编码 url 来返回相对值。

我想使用类似的东西:

return '<img src="{% static 'img/flags/country_flag.jpg'>"

这是我的代码:

...额外的.py

@register.filter(name="flag")
def flag(language):
    if language == 'fr':
        return '<img src="static/img/flags/french.jpg" class="flag">'
    elif language == 'ge':
        return '<img src="static/img/flags/german.jpg" class="flag">'

html

<td class="subtitle-flag"> {{subtitle.language | flag | safe}}</td>
4

1 回答 1

1

您是否需要返回整个图像对象而不仅仅是文件名?如果不是,您可以尝试:

...额外的.py

@register.filter(name="flag")
def flag(language):
    if language == 'fr':
        return 'french'
    elif language == 'ge':
        return 'german'

html

<td class="subtitle-flag">
    {% with flag_name=subtitle.language|flag|safe %}
    <img src="{% static 'img/flags/'|add:flag_name|add:'.jpg' %}" class="flag" />
    {% endwith %}
</td>

阅读文档以获取有关add过滤器with标签的更多信息。

于 2013-10-02T23:22:33.917 回答