РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pydjSpLcLu 83 of 204 menu

Передача языка через URL в Django

Часто язык передают в адресе: /en/posts/, /ru/posts/. Для этого подключают LocaleMiddleware и оборачивают маршруты в i18n_patterns:

from django.conf.urls.i18n import i18n_patterns from django.urls import path from main import views urlpatterns = i18n_patterns( path('posts/', views.posts, name='posts'), )

Middleware должен стоять после SessionMiddleware. Язык берется из префикса URL (и при необходимости из сессии или cookie).

Для смены языка без смены префикса есть view set_language (приложение django.conf.urls.i18n).

Подключите LocaleMiddleware и i18n_patterns для главной страницы. Откройте /ru/ и /en/.

Сделайте две ссылки «Русский» / «English» на версии той же страницы.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить