【问题标题】:Language switcher list without button没有按钮的语言切换器列表
【发布时间】: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 是的,它现在指向其他语言,但不会返回。

标签: python django


【解决方案1】:

对此的正确答案是没有人能够提供的。

<form action="{% url 'set_language' %}" method="post" class="">
      </br>
      <div class="language-footer">
          {% csrf_token %}
          <select name="language" class="nice-select lan_pack" onchange="this.form.submit()">
          {% for language in languages %}
          <option value="{{ language.code }}"
              {% if language.code = LANGUAGE_CODE %}selected="selected"{% endif %}>
              {{ language.name }}
          </option>
          {% endfor %}
          </select>
      </div>
    </form>

【讨论】:

    猜你喜欢
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多