在Django模板中显示语言图标

tquggr8v  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(118)

我想在Django模板中显示语言图标而不是名称。
我的代码如下所示:

{% load static i18n %}

    {% get_current_language as CURRENT_LANGUAGE %}
    {% get_available_languages as AVAILABLE_LANGUAGES %}
    {% get_language_info_list for AVAILABLE_LANGUAGES as languages %}
    <div id="language">
          {% for language in languages %}
            <ul>
                <li>
                   <a href="/{{ language.code }}/"
                    {% if language.code == LANGUAGE_CODE %} class="active"{% endif %}>
                    {{ language.name|slice:":3" }}
                   </a>
                </li>
            </ul>
          {% endfor %}
    </div>

是否有任何可能的方法来实现这个目标,或者我必须尝试不同的方法?
对此解决方案是将行更改为:

<a href="/{{ language.code }}/"
            {% if language.code == LANGUAGE_CODE %} class="active"{% endif %}>
               <img src="/static/images/{{ language.name }}.png"  alt="Geo">
           </a>

你必须将图标放置在静态文件夹中,并使用英语-〉英语等语言名称。

iugsix8n

iugsix8n1#

更难的部分是在某个地方将你的国旗图像集合在一起。
简单的部分是使用您的语言上下文获取<img>引用,例如

<img ... src="somewhere/{{language.name|slice:":3"}}.gif" >

你可能想看看django-countries包,使用它,或者用它来构思。

相关问题