Джанго не может передать идентификатор с URL - PullRequest
0 голосов
/ 26 сентября 2018

Я прочитал ряд других постов и django docs, и насколько я могу судить, я делаю это правильно, но по какой-то причине это не работает.Я хочу правильно передать идентификатор элемента через URL.

Это работает

<a href="/item_details/{{recent.id}}">

Но это не

<a href="{% url 'my_app:item_details' recent.id %}">

или это

<a href="{% url 'item_details' recent.id %}">

URL

url(r'^item_details/(?P<item_id>\d+)/$', views.item_details, name='view_item_details'),

полный код

{% for recent, images in recent_and_images %}
        <div class="item-wrapper">
            <div class="item-image-wrapper">
              <a href="{% url 'item_details' recent.id %}">
                <img src="{{images.0}}" width="300" alt="">
              </a>
            </div>
        </div>
{% endfor %}

ошибка

Reverse for 'item_details' with arguments '(99,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Также мой проект на Django 1.9.Я проверил документы, и они, похоже, реализуют это так же.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Обратный поиск атрибута name.Не название функции.Таким образом, в вашем случае вы назвали свой URL view_item_details, и вы передаете item_details, что неверно.Django передает это значение в функцию reverse и автоматически выбирает полный URL, а когда он не может найти соответствующий URL, вы получаете ошибку reverse.Поэтому замените вашу строку в шаблоне этим, и она должна работать

<a href="{% url 'view_item_details' recent.id %}">

0 голосов
/ 26 сентября 2018

В Django 2 это будет:

{% url 'item_details' item_id=recent.id %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...