Django Создает конфликты URL — адресов представлений с одним URL-адресом представления

#python #django

#питон #джанго

Вопрос:

Мой url.py файл выглядит так, как показано ниже.

 urlpatterns = [ path('', views.loans, name='loans'), path('loans/lt;str:pkgt;/', views.loan, name='loan'), path('loans/create/', views.create_loan, name='create-loan'), ]  

Всякий раз, когда я пытаюсь получить доступ к кредитам/создать маршрут, Django выдает следующее исключение.

 ValidationError at /loans/create/ ['“create” is not a valid UUID.']  

Похоже, что Django передает «создать» в «кредиты/lt;str:pkgt;/» lt;str:pkgt;

Как я могу это решить?

Заранее спасибо.

Ответ №1:

Шаблоны URL-адресов повторяются по порядку, и возвращается первое совпадение, pk параметр в вашем loan URL-адресе всегда будет соответствовать строке «создать». Вам нужно поменять их местами, чтобы сначала был протестирован URL-адрес создания

 urlpatterns = [  path('', views.loans, name='loans'),  path('loans/create/', views.create_loan, name='create-loan'),  path('loans/lt;str:pkgt;/', views.loan, name='loan'), ]