From a3d7b1a048830e33a9a910542ce2db78e73091e2 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 18 Jul 2024 14:55:11 +0200 Subject: [PATCH] Terminada parte 4 --- Django/mysite/db.sqlite3 | Bin 143360 -> 143360 bytes Django/mysite/polls/urls.py | 11 +++-------- Django/mysite/polls/views.py | 28 ++++++++++++++++++---------- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/Django/mysite/db.sqlite3 b/Django/mysite/db.sqlite3 index e548e4dd900cdb8cf245bc2850a0b23c621e91d0..80b5f5aa42bdbd007c10a49e73a2ae1064582a9a 100644 GIT binary patch delta 92 zcmV-i0Hgna;0S==2#^~AG?5%b0W^VNg0|fvv2?x8ffH9uO<189V?0 diff --git a/Django/mysite/polls/urls.py b/Django/mysite/polls/urls.py index c9cd57c..a2b6cc3 100644 --- a/Django/mysite/polls/urls.py +++ b/Django/mysite/polls/urls.py @@ -3,14 +3,9 @@ from django.urls import path from . import views app_name = "polls" - urlpatterns = [ - # ex: /polls/ - path("", views.index, name="index"), - # ex: /polls/5/ - path("/", views.detail, name="detail"), - # ex: /polls/5/results/ - path("/results/", views.results, name="results"), - # ex: /polls/5/vote/ + path("", views.IndexView.as_view(), name="index"), + path("/", views.DetailView.as_view(), name="detail"), + path("/results/", views.ResultsView.as_view(), name="results"), path("/vote/", views.vote, name="vote"), ] \ No newline at end of file diff --git a/Django/mysite/polls/views.py b/Django/mysite/polls/views.py index 5e541a7..23f2af3 100644 --- a/Django/mysite/polls/views.py +++ b/Django/mysite/polls/views.py @@ -2,25 +2,33 @@ from django.shortcuts import get_object_or_404, render from django.http import HttpResponse, HttpResponseRedirect from django.urls import reverse from django.db.models import F +from django.views import generic + from .models import Choice, Question # Create your views here. -def index(request): - latest_question_list = Question.objects.order_by("-pub_date")[:5] - 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}) +class IndexView(generic.ListView): + template_name = "polls/index.html" + context_object_name = "latest_question_list" + + def get_queryset(self): + """Return the last five published questions.""" + return Question.objects.order_by("-pub_date")[:5] + + +class DetailView(generic.DetailView): + model = Question + template_name = "polls/detail.html" -def results(request, question_id): - question = get_object_or_404(Question, pk=question_id) - return render(request, "polls/results.html", {"question": question}) +class ResultsView(generic.DetailView): + model = Question + template_name = "polls/results.html" + def vote(request, question_id): question = get_object_or_404(Question, pk=question_id) try: