Python 用django翻译模板

Python 用django翻译模板,python,django,internationalization,django-i18n,Python,Django,Internationalization,Django I18n,我在Django 1.8中有一个项目。 我想有3种语言的网站,但当我选择语言时,什么也不会发生: 我的模板中的代码: {% load i18n %} ... <form action="{% url 'set_language' %}" method="post"> {% csrf_token %} {% get_available_languages as LANGUAGES %} {% get_language_info_list fo

我在Django 1.8中有一个项目。 我想有3种语言的网站,但当我选择语言时,什么也不会发生:

我的模板中的代码:

    {% load i18n %}

    ...

<form action="{% url 'set_language' %}" method="post">
    {% csrf_token %}
    {% get_available_languages as LANGUAGES %}
    {% get_language_info_list for LANGUAGES as languages %}
    {% for language in languages %}
    <a href="{% url 'set_language' %}">{{ language.code }}</a>
    {% endfor %}
    <span class="glyphicon glyphicon-globe"></span>
</form>
我的设置(区域设置)-我在这里使用django rosetta:

LANGUAGE_CODE = 'en-us'

LANGUAGES = (
    ('pl', u'Poland'),
    ('en', u'US'),
    ('ru', u'Russia'),
)

LOCALE_PATHS = [
    os.path.join(BASE_DIR, 'locale'),
]

你写的代码什么都不做

内置django set_language视图接受以
语言
代码作为参数的POST请求。即使在表单视图中单击
a
标记也会收到请求

将模板更改为以下内容

<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
    <select name="language">
        {% get_current_language as LANGUAGE_CODE %}
        {% get_available_languages as LANGUAGES %}
        {% 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" />
</form>
{%csrf\u令牌%}
{%get_当前语言为语言代码%}
{%get_可用语言为语言%}
{%get_language_info_list for LANGUAGES as LANGUAGES%}
{%用于语言中的语言%}
{{language.name_local}}({{language.code}})
{%endfor%}

<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
    <select name="language">
        {% get_current_language as LANGUAGE_CODE %}
        {% get_available_languages as LANGUAGES %}
        {% 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" />
</form>