模板标签中的绝对静态网址

时间:2013-10-02 21:21:35

标签: django static templatetags

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

我想使用类似的东西:

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

这是我的代码:

... extras.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>

1 个答案:

答案 0 :(得分:1)

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

... extras.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 filterwith tag

的更多信息