NoReverseMatch после включения кнопки «Избранное» - PullRequest
0 голосов
/ 01 ноября 2018

прежде всего спасибо за внимание. Я довольно новичок в Django Framework и после учебника хотя я, когда я пытался включить кнопку ввода для избранного в моем detail.html, я получил эту ошибку:

Ошибка при рендеринге шаблона В шаблоне C: \ Users \ leo8 \ Desktop \ Lucas \ c2view03 \ webdeve \ templates \ detail.html ошибка в строке 8

Обратное для «избранного» с аргументами «(',,)» не найдено. 1 шаблон (ы) пробовал:

[ 'webdeve / (? P [0-9] +) / избранное / $']

1   <img src="{{ dream.imagem }}">
2   <h2>{{ dream.titulo }} {{ dream.objetivo }}</h2>
3   
4   {% if error_message %}
5       <p><strong>{{ error_message }}</strong></p>
6   {% endif %}
7   
8   <form action="{% url 'webdeve:favorites' Dreams.id %}" method="post">
9       {% csrf_token %}
10      {% for wich in dream.wich_set.all %}
11          <input type="radio" id="wich{{ forloop.counter }}" name="wich" value="{{ titulo.id }}"/>
12          <label for="wich{{ forloop.counter }}">
13              {{ wich.make }}
14              {% if wich.favorites %}
15                  <img src="https://cdn2.iconfinder.com/data/icons/aspneticons_v1.0_Nov2006/add_16x16.gif" />
16              {% endif %}
17          </label><br>
18      {% endfor %}

Вот мои взгляды:

from .models import Dreams, Wich
from django.shortcuts import render, get_object_or_404

app_name = 'webdeve'


def index(request):
    all_dreams = Dreams.objects.all()
    contexto = {'all_dreams': all_dreams}
    return render(request, 'index.html', contexto)


def detail(request, Dreams_id):
    #dream = Dreams.objects.get(pk=Dreams_id)
    dream = get_object_or_404(Dreams, pk=Dreams_id)
    return render(request, 'detail.html', {'dream': dream})


def favorites(request, Dreams_id):
    dream = get_object_or_404(Dreams, pk=Dreams_id)
    try:
        selected_wich = dream.wich_set.get(pk=request.POST['make'])
    except (KeyError, Wich.DoesNotExist):
        return render(request, 'detail.html', {
            'dream': dream,
            'error_message': "no wich selected"
        })
    else:
        selected_wich.favorites = True
        selected_wich.save()
        return render(request, 'detail.html', {'dream': dream})

и myapp.urls

from django.conf.urls import url
from webdeve import views

app_name = 'webdeve'

# Dreams

urlpatterns = [
    url(r'^$', views.index, name='index'),

# Dreams/detail

    url(r'^(?P<Dreams_id>[0-9]+)/$', views.detail, name='detail'),

# Dreams/detail/favoriteS

    url(r'^(?P<Dreams_id>[0-9]+)/favorites/$', views.favorites, name='favorites'),
]

1 Ответ

0 голосов
/ 01 ноября 2018

Вы никогда не отправите Dreams на form со своего view, поэтому Dreams.id не существует. Попробуйте dream.id в вашем шаблоне.

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