【问题标题】:how to pass language between templates in django admin如何在 django admin 中的模板之间传递语言
【发布时间】:2017-09-23 14:00:07
【问题描述】:

我正在覆盖 django-admin 模板以添加语言选择链接。

我添加了这个:

{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
        <a href="/{{ language.code }}{{ request.get_full_path|slice:'3:' }}"
           class="{% if language.code == LANGUAGE_CODE %}selected{% endif %}"
           lang="{{ language.code }}">
            {{ language.name_local }}
        </a>

{% endfor %}

base_site.htmllogin.html 中。 他们工作得很好

问题是我总是在仪表板中获得默认语言。

例如:

如果我在登录页面中选择法语,登录页面会被翻译成法语,但在我登录后,我发现仪表板和其他页面采用默认语言。

我该如何解决这个问题,以便以从登录页面选择的语言显示仪表板

【问题讨论】:

    标签: django internationalization django-admin


    【解决方案1】:

    我终于修好了。

    我将login.html中的href改成如下:

                <a href="/{{ language.code }}{{ request.get_full_path|slice:'3:23' }}{{ language.code }}/admin/"
    

    事实上,login url 如下:/fr/admin/login/?next=/fr/admin/

    所以我需要记住下一页的网址。

    我只需要更改实际页面slice:'3:' 和下一页slice:':23' 中的语言代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 2012-01-06
      • 2013-08-09
      相关资源
      最近更新 更多