Страница открывается, но поиск не работает, когда я использую {% для i в kitty_list%}, но в случае {% для i в kitty%} возникает ошибка NoReverseMatch - PullRequest
1 голос
/ 06 ноября 2019

В приведенном ниже сценарии страница открывается, но функция поиска не работает, когда я использую {% for i in kitty_list %} в шаблоне. Однако, когда я использую {% for i in kitty %}, я получаю ошибку NoReverseMatch.

Url: path('kitty_view',views.kitty_view,name='kitty_view')
View: kitty_list = kitty_list.filter(status =  status1)
      kittys = kitty.objects.all()
      ctx = {'kitty': kitty_list,'kitty_code':kittys}    
      return render(request, 'kitty/kitty_view.html', ctx)

Это HTML-страница, которая выдает ошибку NoReverseMatch при использовании {% for i in kitty %}. Когда я использую {% for i in kitty_list %}, то страница отображается, но кнопка поиска не работает.

template:

{% extends 'base.html' %}
{% load static %}

{% block content %}
<form class="form-signin" action="{% url 'kitty_view' %}" method="get">
    {% csrf_token %}
    <div class="form-row">

        <div class="mb-3">
            <select class="custom-select center-block" name="code1" id="code1">
                <option value="">Choose Kitty...</option>
                {% for j in kitty_code %}
                <option value="{{ j.code }}"> {{ j.code|add:' - '|add:j.name }} </option>
                {% endfor %}
            </select>
        </div>
        <div class="mb-3">
            <input type="text" name="nam" id="nam" class="form-control-sm center-block" placeholder="Name" autofocus>
        </div>
        <div class="mb-3">
            <select class="custom-select center-block" name="stat" id="stat" placeholder="Status">
                <option value="">Choose Status...</option>
                <option>A</option>
                <option>I</option>
            </select>
        </div>
        <div class="mb-3">           
            <button type="submit" class=" btn btn-info " role="button">Search</button>
        </div>
    </div>
</form>

<table class="table table-dark">
    <thead>
        <tr>
            <th scope="col">#</th>
            <th scope="col">Kitty Code</th>
            <th scope="col">Name</th>            
        </tr>
    </thead>

    {% if kitty %}  

    {% for i in kitty_code %}

    <tbody>
        <tr>            
            <td>{{ i.id }} </td>
            <td>{{ i.code }} </td>
            <td>{{ i.name }} </td>   

        </tr>
    </tbody>

    {% endfor %}
    {% endif %}
</table>
{% endblock %}

1 Ответ

0 голосов
/ 06 ноября 2019

Внутри файла шаблона вам нужно изменить строку ниже. {% url 'kitty_view' %} до {% url '<app_name>:kitty_view' %}. Если это не сработает, сообщите мне об этом подробнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...