Джанго: NoReverseMatch в /patient/1/

У меня есть этот urls.py в приложении кабинета:

urlpatterns = [
    path('', views.index, name='index'),
    path('register_patient/', views.registerPatient,name='register_patient'),
    path('register_booking/', views.registerBooking,name='register_booking'),
    path('register_visit/<int:id>/', views.registerVisit,name='register_visit'),
    path('<int:id>/', views.detail_patient),
]

до добавления 4-го пути path('register_visit/<<int:id>>/'), views.detail_patient работал хорошо, но теперь, когда я добавляю этот 4-й путь, views.detail_patient не работает, и я получаю эту ошибку: NoReverseMatch at /patient/1/ Итак, моя проблема в том, что я не могу использовать '<<int:id>> более одного раза, и в моем коде у меня есть индексная страница, показывающая список пациентов, и у каждого пациента есть кнопка 'details', которая приведет меня к 5-му path(('<<int:id>>/', views.detail_patient)), и в этом шаблоне у меня есть кнопка 'Nouvelle Chirurgie', которая приведет меня к 4-му path(('register_visit/<<int:id>>/', views.registerVisit,name='register_visit')). В index.html это кнопка Details:

<a href="{{field.id}}/" class="btn btn-warning">Details</a>

А в detail_patient.html это кнопка 'Nouvelle Chirurgie'

<a href="{% url 'register_visit' %}{{patients.id}}" class="btn btn-primary">Nouvelle Chirurgie</a>

Как исправить эту ошибку

измените это

<a href="{% url 'register_visit' %}{{patients.id}}" class="btn btn-primary">Nouvelle Chirurgie</a>

to

<a href="{% url 'register_visit' patients.id %}" class="btn btn-primary">Nouvelle Chirurgie</a>

я надеюсь, что пациенты не являются набором запросов, если это так, то вы должны итерировать их с помощью forloop, чтобы этот код выше работал.
urls.py:

urlpatterns = [
    path('', views.index, name='index'),
    path('register_patient/', views.registerPatient,name='register_patient'),
    path('register_booking/', views.registerBooking,name='register_booking'),
    path('register_visit/<int:id>/', views.registerVisit,name='register_visit'),
    path('<int:id>/', views.detail_patient,name='detail_patient'),
]

в detail_patient я добавил name='detail_patient'.

<a href="{% url 'detail_patient' field.id %}" class="btn btn-warning">Details</a>

field.id - это просто пример, который вы должны заменить на нужный вам экземпляр.

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