相关疑难解决方法(0)

尝试从Django模板更改语言的问题

我需要包含两个按钮或链接,以允许用户更改英语和西班牙语之间的语言.我已经阅读了文档并尝试了这个:

<form action="/i18n/setlang/" method="post">{% csrf_token %}
    <input name="language" type="hidden" value="es" />
    <input type="submit" value="ES" />
</form>
Run Code Online (Sandbox Code Playgroud)

但是,每次单击该按钮时,页面都会重新加载,但语言根本不会更改.我错过了什么吗?

注意:我没有设置next,因为我只想用所需语言重新加载当前页面.

如果我使用docs提供的默认表单,结果是相同的:页面重新加载但语言没有改变:

<form action="{% url 'set_language' %}" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value="{{ redirect_to }}" />
    <select name="language">
        {% get_language_info_list for LANGUAGES as languages %}
        {% for language in languages %}
            <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
                {{ language.name_local }} ({{ language.code }})
            </option>
        {% endfor %}
    </select>
    <input type="submit" value="Go" …
Run Code Online (Sandbox Code Playgroud)

python django internationalization django-i18n

7
推荐指数
2
解决办法
1万
查看次数

django-multilingual并在模板端切换语言

我正在尝试使用django-multilingual并正确设置它.但我发现除了模板用法示例之外,django-multilingual的一切都很清楚.

我刚开始使用django并且我不知道,也许是因为这个原因,我无法弄清楚如何在模板端切换语言.

您是否有任何示例或任何"更多"明确的来源/文档?

django django-templates django-multilingual

6
推荐指数
1
解决办法
1万
查看次数

使用翻译后的 url 重定向在 Django 中切换语言

我已经正确安装了国际化。

它适用于以下网址:

/en/bookings/ #English
/es/reservas/ #Spanish
Run Code Online (Sandbox Code Playgroud)

在主页中,语言切换也能正常工作。

- 有什么问题吗?

当我更改翻译页面中的语言时,例如 /en/bookings/,如果我将语言转换为西班牙语 (es),我将再次重定向到 /en/bookings/ 并看到英文页面。

如果我更改前缀(如这个答案),重定向将转到不存在的 /es/bookings/ 。

我不想被重定向到主页。

- 我喜欢什么?

如果我在 /en/bookings/ 并切换到西班牙语,我想重定向到 /es/reservas/,所有翻译的 url。

什么是最好的方法?

谢谢。

django url internationalization

4
推荐指数
2
解决办法
5094
查看次数