django/tests/i18n/patterns/urls/default.py
utkarsh.arya@zomato.com 86454bb0cb Fix incorrect URL generation for missing optional groups
Exclude None values from kwargs in RegexPattern to ensure
translate_url() handles optional named groups correctly.
Adds tests to verify correct URL translation when optional
parameters are absent or present.

Addresses issues with URL translation when optional arguments are missing.
2025-11-15 22:59:59 +00:00

25 lines
984 B
Python

from django.conf.urls.i18n import i18n_patterns
from django.urls import include, path, re_path
from django.utils.translation import gettext_lazy as _
from django.views.generic import TemplateView
view = TemplateView.as_view(template_name='dummy.html')
urlpatterns = [
path('not-prefixed/', view, name='not-prefixed'),
path('not-prefixed-include/', include('i18n.patterns.urls.included')),
re_path(_(r'^translated/$'), view, name='no-prefix-translated'),
re_path(_(r'^translated/(?P<slug>[\w-]+)/$'), view, name='no-prefix-translated-slug'),
]
urlpatterns += i18n_patterns(
path('prefixed/', view, name='prefixed'),
path('prefixed.xml', view, name='prefixed_xml'),
re_path(
_(r'^with-arguments/(?P<argument>[\w-]+)/(?:(?P<optional>[\w-]+)\.html)?$'),
view,
name='with-arguments',
),
re_path(_(r'^users/$'), view, name='users'),
re_path(_(r'^account/'), include('i18n.patterns.urls.namespace', namespace='account')),
)