Thank you Daniel.
Bruckner de Villiers 083 625 1086 From: <django-users@googlegroups.com> on behalf of Daniel Hepper <daniel.hep...@gmail.com> Reply to: <django-users@googlegroups.com> Date: Tuesday, 10 December 2019 at 13:54 To: <django-users@googlegroups.com> Subject: Re: Removing Hardcoded urls in Templates It should be {% url 'polls:detail' question.id %} I think you mixed up the steps "Removing hardcoded URLs in templates" and "Namespacing URL names" Hope that helps, Daniel On Tue, Dec 10, 2019 at 11:58 AM Bruckner de Villiers <bruckner.devilli...@gmail.com> wrote: Running Django 3.0 & Python 3.7.3. Issue with Tutorial Part 3: I replaced “<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>” with “<li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>” and get the following error: Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name. <li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li> index.html: {% if latest_question_list %} <ul> {% for question in latest_question_list %} {% comment %} <li><a href="/polls/{{ question.id }}/">{{ question.id }} {{ question.question_text }} {{ question.pub_date }}</a></li> {% endcomment %} <li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li> {% comment %} - Why doesn't this work?--> {% endcomment %} {% endfor %} </ul> {% else %} <p>No polls are available.</p> {% endif %} urls.py: from os import \ path from django.urls import \ path from . import \ views app_name = 'polls' urlpatterns = [ path('', views.index, name='index'), path('<int:question_id>/', views.detail, name='detail'), path('<int:question_id>/results/', views.results, name='results'), path('<int:question_id>/vote/', views.vote, name='vote'), ] views.py: from django.shortcuts import get_object_or_404, render from django.http import \ HttpResponse from django.shortcuts import \ render #from django.template import loader from .models import Question # Create your views here. def index(request): latest_question_list = Question.objects.order_by('-pub_date')[:10] context = {'latest_question_list': latest_question_list} return render(request, 'polls/index.html', context) def detail(request, question_id): question = get_object_or_404(Question, pk=question_id) return render(request, 'polls/detail.html', {'question': question}) def results(request, question_id): response = "You're looking at the results of question %s." return HttpResponse(response % question_id) def vote(request, question_id): return HttpResponse("You're voting on question %s." % question_id) Much obliged, Bruckner de Villiers 083 625 1086 -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/0072F811-155B-41C2-BDCD-3C529150941B%40gmail.com. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHEnUVW5AxWDmgRdvHEUYrd%3D%3D%2BFA6y4htqJjv9sJc-OkiCHQpA%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/641E4430-80FE-4BF0-9EEF-1CD0B1B2449B%40gmail.com.