нет ошибки обратного соответствия при попытке вызвать функцию просмотра в django - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу вызвать функцию просмотра 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')
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...