Я использую Django и разрабатываю сайт i18n, обслуживающий множество языков. Я хочу создать модальное окно, которое останется в base.html, чтобы пользователи могли переключать язык, где бы они ни находились.
Мне удалось сделать что-то подобное.
<div class="modal-body">
{% get_available_languages as languages %}
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<a href="{% url 'home' %}" class="btn lang-btn {% ifequal request.LANGUAGE_CODE lang_code %}selected{% endifequal %}">{{lang_code|lang_name}}</a>
{% endlanguage %}
{% endfor %}
</div>
В результате получаются такие URL-адреса: /ja/
, /en/
, /fr/
и т. Д., Но такой подход ссылается только на главную страницу.
При использовании {{request.path}}
или {{request.get_full_path}}
в качестве URL-адреса, например:
<a href="{{ request.path }}" class="btn lang-btn {% ifequal request.LANGUAGE_CODE lang_code %}selected{% endifequal %}">{{lang_code|lang_name}}</a>
Он не включает шаблоны URL-адресов i18n.
Есть ли способ направить текущий URL-адрес с помощью request.path ??
ЦЕЛЬ
Когда в /foo/
: /ja/foo/
/en/foo/
/fr/foo/
Когда в /bar/
: /ja/bar/
/en/bar/
/fr/bar/
Заранее спасибо!