Джанго: 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 - это просто пример, который вы должны заменить на нужный вам экземпляр.