NameError: имя 'urlpatterns' не определено с помощью i18n_patterns

У меня проблемы с написанием урлов для перевода. Согласно этому вопросу я понимаю, что это потому, что у меня +=, поэтому мне нужно поставить =. Плохо то, что мне нужно перевести все мои урлы, я не могу оставить ни одного за пределами i18n, что я могу сделать, чтобы включить туда все мои урлы?

from . import views
from django.urls import path
from django.conf.urls.i18n import i18n_patterns

app_name='Clientes'


urlpatterns+= i18n_patterns(
    path('',views.list_clientes,name='clientes_list'),
    path('add',views.create_clientes.as_view(),name='clientes_add'),
    path('edit/<int:pk>',views.edit_clientes.as_view(),name='clientes_edit'),
    path('<int:pk>/',views.detail_clientes.as_view(),name='clientes_detail'),
    path('delete/<int:pk>',views.eliminar_cliente.as_view(),name='clientes_delete'),
)

Вы не определили urlpatterns ранее. Если вы хотите перевести все пути, вы используете:

#           🖟 assignment
urlpatterns = i18n_patterns(
    path('',views.list_clientes,name='clientes_list'),
    path('add',views.create_clientes.as_view(),name='clientes_add'),
    path('edit/<int:pk>',views.edit_clientes.as_view(),name='clientes_edit'),
    path('<int:pk>/',views.detail_clientes.as_view(),name='clientes_detail'),
    path('delete/<int:pk>',views.eliminar_cliente.as_view(),name='clientes_delete'),
)

В связанном ответе сначала определяется список, а затем он расширяется с помощью +=, именно потому, что не все шаблоны url транслируются туда. Но если все шаблоны должны быть переведены, вы присваиваете результат i18n_patterns(..) в urlpatterns.

Вернуться на верх