Django get_language_info_list в шаблоне пуст
Я делаю сайт, на котором пользователь может выбрать, на каком языке просматривать сайт - английском или голландском. Я хотел бы сделать это с помощью выпадающего меню, и для этого я добавил следующее:
settings.py:
from django.utils.translation import gettext_lazy as _
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
...
]
LANGUAGE_CODE = 'nl'
TIME_ZONE = 'Europe/Amsterdam'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LOCALE_PATHS = [
BASE_DIR / 'snvs/locale/'
]
LANGUAGES = (
('en', _('English')),
('nl', _('Nederlands'))
)
urls.py (основной)
urlpatterns = i18n_patterns(
path('', views.home, name='home'),
path('i18n/', include('django.conf.urls.i18n')),
path(_('admin') + '/', admin.site.urls, name='admin'),
path(_('agenda') + '/', include('agenda.urls'), name='agenda'),
path(_('winkel') + '/', include('store.urls'), name='store'),
)
<
{% load i18n %}
...
{% get_language_info_list for LANGUAGES as languages %}
{% if languages|length > 1 %}
<form action="{% url "set_language" %}" method="post" class="d-flex">
{% csrf_token %}
<select name="language" class="form-select" 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>
</form>
{% endif %}
мой базовый шаблон:
Однако тег LANGUAGES, languages или get_language_info_list в шаблоне всегда представляет собой пустой список, тогда как он должен возвращать информацию LANGUAGES, как описано в settings.py (documentation)
Я знаю, что этот же код работал у меня раньше, поэтому я в растерянности, почему это может происходить.
Вот как должен выглядеть конечный результат (работа над предыдущим сайтом):
И показывая тег {{ languages }}:
Я пытался определить разницу между settings.py одного из сайтов и новым, но не могу ее найти (готов полностью загрузить оба источника, если необходимо)
Я забыл добавить контекстный процессор django.template.context_processors.i18n в settings.py

