You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django模板中显示语言图标而非语言名称?

在Django模板中用语言图标替代语言名称的实现方法

需求与现有代码

想要在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>

可行的实现方案

只需修改模板中语言链接的部分代码,同时准备好对应的语言图标文件即可:

1. 修改模板代码

将原有的语言名称输出部分替换为图片标签,修改后的代码如下:

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

2. 准备图标文件

  • 将语言图标放置在Django项目的static/images/目录下
  • 图标文件名必须和language.name的取值完全对应,比如英语对应English.png,西班牙语对应Spanish.png等
  • 建议给图片设置与语言名称匹配的alt属性,提升页面的无障碍访问性

内容的提问来源于stack exchange,提问作者Giorgi Wiklauri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:02:12