Django 5 переводит маршрут с помощью параметра
У меня возникли проблемы с правильным переводом маршрута, для которого требуется параметр. это работает нормально, если uri содержит /fr/ или /en/:
urlpatterns = [
path(_('CATEGORY'), views.category, name='app-category'),
]
Но пока мне нужно добавить параметр типа:
urlpatterns = [
path(f"{_('CATEGORY')}/<slug:uuid>", views.category, name='app-category'),
]
или
urlpatterns = [
path(_('CATEGORY') + "/<slug:uuid>", views.category, name='app-category'),
]
В переводе застряло слово "категория", поэтому маршрут /fr/categorie/ не работает. _("КАТЕГОРИЯ") = "категория" для fr или "категория" для en.
Есть какие-нибудь идеи о том, как обойти проблему? Спасибо
Пробовали ли вы создать пользовательский диспетчер URL-адресов, который возвращал бы представление в зависимости от языка?
https://docs.djangoproject.com/en/5.1/topics/http/urls/#registering-custom-path-converters
Я наконец-то нашел способ, на всякий случай, если это может помочь другим.
#views.py
category_patterns = (
[
path("/<slug:slug>/", views.category_detail, name='category-detail'),
],
'category',
)
urlpatterns = [
path(_('[CATEGORY/]'), include(category_patterns, namespace="category")),
]