【发布时间】:2022-12-13 21:36:04
【问题描述】:
如果我在模板中动态填充我的语言列表(从设置的语言数组中获取),我对在移动设备上显示当前语言有疑问... 所以,这段代码可以正常工作:
<a href="#" id="language-en" class="pure-drawer-link{% if LANGUAGE_CODE == 'en' %} active{% endif %}"> EN </a>
但是,当我尝试这段代码时,我无法将 active 类添加到当前语言:
{% for lng in settings.LANGUAGES %}
{% if not lng.0 == "ru" %}
<a href="#" id="language-{{ lng.0 }}"
class="pure-drawer-link{% if LANGUAGE_CODE == '{{ lng.0 }}' %} active{% endif %}">
{{ lng.0|upper }}
</a>
{% if LANGUAGE_CODE == '{{ lng.0 }}' %} active {% else %} nonactive{% endif %} => this always return nonactive
{% endif %}
{% endfor %}
谁能帮助理解为什么会这样?
编辑 1:
我在设置中的中间战:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'my_app.middleware.ExpirationMiddleware',
'my_app.middleware.IPMiddleware',
'my_app.middleware.TranslationMiddleware',
]
这是 i18 的:
USE_I18N = True
USE_L10N = False
USE_TZ = True
TIME_ZONE = 'Europe/Zurich'
LANGUAGE_CODE = 'en-US'
【问题讨论】:
标签: django mobile django-templates