Django语言选择不适用于Firefox

时间:2014-09-20 23:09:24

标签: javascript python django localization internationalization

我正在尝试使用Framework Django设置语言选择器。

我使用了这段代码:

<form action="/i18n/setlang/" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value=""/>

    <select class="select-style" name="language" onchange="this.form.submit();" style="width:100px">
    {% for lang in LANGUAGES %}
        <option value="{{ lang.0 }}" {% if lang.0 == LANGUAGE_CODE %} selected="selected"{% endif %}>{{ lang.1 }}</option>
    {% endfor %}
    </select>
</form>

适用于Chrome和Safari,但不适用于Firefox。

第一种语言(英语)不会显示在下拉菜单中。

/ setting.py /

LANGUAGES = (
   ('en', gettext('English')),
   ('fr', gettext('French')),
   ('nl', gettext('Dutch')),
   ('it', gettext('Italian')),
   ('es', gettext('Spanish')),
   ('th', gettext('Thai')),
)

由于

修改

我最终解决了我的问题,添加了一个selected = selected字段选项,该选项仅在Chrome和Safari中显示,但至少所有语言都显示在FF中。

<form action="/i18n/setlang/" method="post">
    {% csrf_token %}
    <input name="next" type="hidden" value=""/>

    <select class="select-style" name="language" onchange="this.form.submit();" style="width:100px;font-size:12px;">
    <option selected="selected" disabled="disabled">Select your language</option>
    {% for lang in LANGUAGES %}
        <option value="{{ lang.0 }}" {% if lang.0 == LANGUAGE_CODE %} selected="selected"{% endif %}>{{lang.1|title}}</option>
    {% endfor %}
    </select>
</form>

0 个答案:

没有答案