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.