Django Parler выбрасывает 404 ошибку при переключении языка
Я создал сайт, который будет переводиться на разные языки с помощью пакета Django Parler, мой язык по умолчанию - английский, но клиент сказал мне, чтобы сайт по умолчанию загружался на французском, а затем пользователь мог переключиться на английский, если захочет.
Я смог заставить сайт загружать французский по умолчанию, создав промежуточное ПО и добавив его в настройки, но моя проблема заключается в следующем, я не могу переключить сайт на английский, если я делаю это, то он выдает мне 404 ошибку вот ссылка на сайт https://ambassadedusaintesprit.com.
Вот мое промежуточное ПО
from django.conf import settings
from django.utils import translation
class ForceLangMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
language_code = 'fr'
translation.activate(language_code)
response = self.get_response(request)
translation.deactivate()
return response
**Мои настройки**
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'ambassade_app.middleware.ForceLangMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
LANGUAGE_CODE = 'en'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = (
('fr', _('French')),
('en', _('English')),
)
PARLER_LANGUAGES = {
None: (
{'code': 'fr',},
{'code': 'en',},
),
'default': {
'fallback': ['fr',],
'hide_untranslated': False,
}
}
PARLER_DEFAULT_LANGUAGE_CODE = 'fr'
переключатель языков в base.html
<form id="formLang" action="{% url 'set_language' %}" class="form-inline" method="post">
{% csrf_token %}
<input name="next" id="next" type="hidden" value="{{ redirect_to }}">
<select id="selectLang" name="language">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}" {% if language.code == LANGUAGE_CODE %} selected {% endif %} >
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
<input type="submit" value="Go" class="lang-btn">
</form>
Пожалуйста, мне нужна помощь в этом как можно скорее, есть ли что-то, что я делаю неправильно? Я перепробовал все, что мог, вы можете проверить сайт здесь https://ambassadedusaintesprit.com