【发布时间】:2019-09-30 18:07:15
【问题描述】:
我正在尝试列出可用语言的列表,但我无法做到这一点,但选择的语言没有改变,页面刷新但什么也没有。
<form action="/i18n/setlang/" method="post" style="display: inline;">{% csrf_token %}
<div style="display: inline;">
<select name="language" onchange="javascript:form.submit()">
{% for lang in LANGUAGES %}
<option value="{{ lang.0 }}"{% ifequal LANGUAGE_CODE lang.0 %} selected="selected"{% endifequal %}>{{ lang.1 }}</option>
{% endfor %}
</select>
</div>
</form>
我在日志中收到此错误
- POST /i18n/setlang/HTTP/1.1" 302 0
我曾尝试将其设置为带有按钮的列表,但使用按钮来更改语言实在是太难看了。
更新: 它会更改为其他语言,但是一旦使用另一种语言,我就无法将其更改回来。 出于某种原因,set lang 在 url 中被调用了两次。
"POST /i18n/setlangsetlang/ HTTP/1.1" 302 0
<div class=" float-right">
{% get_language_info_list for LANGUAGES as languages %}
<form action="{% url 'set_language' %}" method="post" class="navbar-form navbar-right">
{% csrf_token %}
<div class="form-group">
<select name="language" class="form-control" onchange="this.form.submit()">
{% for language in languages %}
<option value="{{ language.code }}"
{% if language.code == LANGUAGE_CODE %}selected="selected"{% endif %}>
{{ language.name_local }}
</option>
{% endfor %}
</select>
</div>
</form>
</div>
由于某种原因,设置的语言被调用了两次
“POST /i18n/setlangsetlang/HTTP/1.1”302 0
【问题讨论】:
-
302 是一个重定向,也许检查您正在重定向的位置可以帮助您找到错误
-
@luis.parravicini 是的,它现在指向其他语言,但不会返回。