Я пытаюсь изменить язык веб-сайта, когда пользователи нажимают кнопку в Django.
У меня есть базовый проект, и URL-адреса:
urlpatterns += i18n_patterns(
# Ecommerce is the app where I want to change the language
url(r'^', include("ecommerce.urls")),
)
URL-адрес внутри Ecommerce.urls:
urlpatterns = [
url(r'^testing/$', views.test, name='url_testing'),
... other urls
]
Когда я посещаю указанный выше URL, я сначала иду по адресу: http://localhost/en/testing/
.
Я хочу установить ссылку <a href="{% url 'url_testing' %}">Change Language</a>
, чтобы при нажатии на нее пользователи меняли язык на http://localhost/zh-hans/testing/
. Как мне это сделать в моем шаблоне?
ИЗМЕНИТЬ
Теперь я могу изменить язык, используя следующий код, но проблема в том, что он работает только один раз:
<form id="languageForm" action="/i18n/setlang/" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{% url 'url_testing' %}" />
<input id="newLanguageInput" type="hidden" name="language"/>
</form>
И мои ссылки:
<li><a onclick="changeLanguage('zh-hans')">简体</a></li>
<li><a onclick="changeLanguage('zh-hant')">繁體</a></li>
Функция changeLanguage определяется следующим образом:
function changeLanguage(newLanguage) {
$('input[name="newLanguageInput"]').val(newLanguage);
$('#languageForm').submit();
}
Код работает, когда я впервые нажимаю любую из двух ссылок, и меня перенаправляют на URL-адрес http://localhost/zh-hans/testing/
или http://localhost/zh-hant/testing/
. Проблема в том, что после того, как я один раз сменил язык, он больше не меняется. Что-то не так с моей отправкой?