#html #django
Вопрос:
У меня есть это 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>>
больше, чем один раз в моем коде у меня есть индекс, который показывает список больных, и каждого больного есть кнопка «Дополнительно», который отвезет меня в 5-м path(('<<int:id>>/', views.detail_patient))
и в этом шаблоне у меня есть кнопка ‘Нувель хирургиипринять меня 4-й path(('register_visit/<<int:id>>/', views.registerVisit,name='register_visit'))
. В index.html это кнопка «Подробности»:
<a href="{{field.id}}/" class="btn btn-warning">Details</a>
И в detail_patient.html это кнопка «Новая хирургия»
<a href="{% url 'register_visit' %}{{patients.id}}" class="btn btn-primary">Nouvelle Chirurgie</a>
Как исправить эту ошибку?
Ответ №1:
измените это
<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>
я надеюсь, что patients не является набором запросов, если это так, вам следует повторить его с помощью 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 я добавил имя=’detail_patient’.
<a href="{% url 'detail_patient' field.id %}" class="btn btn-warning">Details</a>
field.id это просто пример, который вы должны заменить нужным экземпляром.
Комментарии:
1. Идеально, ваше решение работает хорошо, большое вам спасибо. Мне жаль, что я не могу принять ваше решение, потому что у меня еще нет 15 репутации
2. @AkramBaklouti я рад, что смог вам помочь)