Реверс для 'x' не найден.'x' не является допустимой функцией представления или именем шаблона - PullRequest
0 голосов
/ 06 июня 2018

У меня есть три страницы - домашняя страница, http://127.0.0.1:8000/, с одним предложением абзаца и двумя ссылками в заголовке.и список пицц, http://127.0.0.1:8000/pizzas.Теперь я пытался добавить ссылки для каждой пиццы на странице http://127.0.0.1:8000/pizzas, чтобы можно было щелкнуть по ним и посмотреть, какие начинки были доступны.Я, вероятно, застрял из-за моего решения использовать пути вместо url () для отображения URL-адресов, которые использует книга, которой я следую.

Ошибка : NoReverseMatch в /pizzas.
Реверс для pizza_w_toppings не найден.'pizza_w_toppings' не является допустимой функцией представления или именем шаблона.

pizzas.html -

{% extends "pizzeria_app/base.html" %}

{% block content %}
<h1> Available Pizzas : </h1>
<ul>
{% for pizza in pizzas %}
 <li> <a href = {% url 'pizza_w_toppings' %}> {{pizza}}</a><li>
{% empty %}
  <p> We're outta Pizzas. next time bro! <p>
{% endfor %}
</ul>

{% endblock content %}

app / urls.py:

urlpatterns = [
#homepage
path('', views.index),
#show available pizzas
path('pizzas', views.pizzas),
path('pizzas/<int:pizza_id>', views.pizza_w_toppings, name="pizza_w_toppings")

Просмотры: я новичок в StackOverflow и не могу понять, как добавить свои представления.ру.я прикрепил картинку, извините views.py скриншот

1 Ответ

0 голосов
/ 06 июня 2018

Ваш URL-адрес должен быть {% url 'pizza_w_toppings' pizza.id %}.Если вы посмотрите документацию , вы увидите все возможные варианты тега url.

Например, предположим, у вас есть представление app_views.client, URLconf которого принимает клиентаID (здесь client () - это метод внутри файла представлений app_views.py).Строка URLconf может выглядеть следующим образом:

path('client/<int:id>/', app_views.client, name='app-views-client')

Если URLconf этого приложения включен в URLconf проекта под следующим путем:

path('clients/', include('project_name.app_name.urls'))

… затем в шаблоне вы можете создать ссылку на это представление следующим образом:

{% url 'app-views-client' client.id %}

Тег шаблона выведет строку / clients / client /123 /.

Если вы используете пространства имен, обязательно включите пространство имен в теги url, например:

{% url 'your-namespace:app-views-client' client.id %}

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