Я хочу вызвать функцию просмотра Person2, когда нажимаю кнопку лиц, но кажется, что в URL есть несоответствие. Я пытаюсь вызвать мою функцию из шаблона с идентификатором человека. Шаблон отображает результат поискового запроса, который поступает с главной страницы, но я хочу иметь возможность вызывать функцию просмотра при нажатии кнопки человека для получения дополнительной информации.
мой шаблон searchResult.py:
{% extends "artdb/index.html" %}
{% block sr1 %}
<ul>
<a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:person2' person.id %}">
Persons: {{person.count}}
</a>
<a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}">
Activities: {{activity.count}}
</a>
<a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}">
Members: {{member.count}}
</a>
<a class="btn btn-light btn-outline-success my-2 my-sm-0" role="button" href="{% url 'artdb:search' %}">
Comments: {{comment.count}}
</a>
<br></br>
{% if person.all %}
{% for p in person.all %}
<h6>First name: {{p.first_name}}</h6>
<h6>Last name: {{p.last_name}}</h6>
<h6>Phone: {{p.phone_number}}</h6>
<h6>Adress: {{p.street_address}}</h6>
<h6>Zip Code: {{p.zipcode}}</h6>
<h6>City: {{p.city}}</h6>
<h6>Country: {{p.country}}</h6>
<h6>Payment: {{p.payment}}</h6>
{% for c in p.comment.all %}
<h6>Comment: {{c}}</h6>
{% endfor %}
<hr>
{% endfor %}
{% for d in activity.all %}
<h6>Activity name: {{d.activity_name}}</h6>
<h6>project name: {{d.project.project_name}}</h6>
<h6>project type: {{d.project.project_type}}</h6>
{% for dr in d.participant.all %}
<h6>participants: {{dr}}</h6>
{% endfor %}
<h6>min stage area: {{d.min_stage_area}}</h6>
<h6>light requriments: {{d.light_requirements}}</h6>
<h6>sound engineer: {{d.sound_engineer}}</h6>
{% endfor %}
{% for m in member.all %}
<h6>member since: {{m.member_since}}</h6>
<h6>person: {{m.person}}</h6>
{% for n in m.person.all %}
<h6>person: {{n}}</h6>
{% endfor %}
{% endfor %}
{% else %}
<h6>no result</h6>
{% endif %}
</ul>
{% endblock sr1 %}
проблема в том, что я получил ошибку "NoReverseMatch at / search /" при попытке вызвать Person2. Есть идеи почему?
urls.py:
from django.urls import path
from django.views.generic import TemplateView
from artdb.views import PersonList,SearchForm,\
PersonDetail,PersonUpdate,PersonDelete
from django.conf.urls import url,include
from IPython.core.debugger import Pdb
from . import views
#from django.contrib import admin
app_name='artdb'
urlpatterns = [
path('',TemplateView.as_view(template_name='artdb/index.html')),
path('<int:person_id>/person2/',views.Person2.as_view(),name='person2'),
path('search/',views.Search.as_view(),name='search'),
path('contract/',views.contract,name='contract'),
path('signin/',TemplateView.as_view(template_name='artdb/signin.html')),
path('createtour/',views.CreateTour.as_view(),name='createtour'),
path('createDate/',views.CreateDate.as_view()),
path('updateform/<int:pk>/',views.UpdateForm.as_view(),name='updateform'),
path('deleteform/',views.DeleteForm.as_view()),
path('success/',TemplateView.as_view(template_name='artdb/success.html'),name='success')
]