From a62096f7e513bb095eab2ee71802e6d4808f38ce Mon Sep 17 00:00:00 2001 From: sosokker Date: Mon, 28 Aug 2023 19:24:49 +0700 Subject: [PATCH] Create new views for polls/ Add detail views/ Use template --- polls/templates/polls/detail.html | 6 +++++ polls/templates/polls/index.html | 9 +++++++ polls/urls.py | 6 ++++- polls/views.py | 39 ++++++++++++++++++++++++++++++- 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 polls/templates/polls/detail.html create mode 100644 polls/templates/polls/index.html diff --git a/polls/templates/polls/detail.html b/polls/templates/polls/detail.html new file mode 100644 index 0000000..4e1bd67 --- /dev/null +++ b/polls/templates/polls/detail.html @@ -0,0 +1,6 @@ +

{{ question.question_text }}

+ \ No newline at end of file diff --git a/polls/templates/polls/index.html b/polls/templates/polls/index.html new file mode 100644 index 0000000..cc41400 --- /dev/null +++ b/polls/templates/polls/index.html @@ -0,0 +1,9 @@ +{% if latest_question_list %} + +{% else %} +

No polls are available.

+{% endif %} \ No newline at end of file diff --git a/polls/urls.py b/polls/urls.py index a9d7f56..21dff7e 100644 --- a/polls/urls.py +++ b/polls/urls.py @@ -2,6 +2,10 @@ from django.urls import path from . import views +app_name = "polls" urlpatterns = [ path("", views.index, name="index"), -] \ No newline at end of file + path("/", views.detail, name="detail"), + path("/results/", views.results, name="results"), + path("/vote/", views.vote, name="vote"), +] diff --git a/polls/views.py b/polls/views.py index 94bc318..285fac1 100644 --- a/polls/views.py +++ b/polls/views.py @@ -1,5 +1,42 @@ from django.http import HttpResponse +from django.shortcuts import render +from django.shortcuts import get_object_or_404, render + +from .models import Question def index(request): - return HttpResponse("Hello, world. You're at the polls index.") \ No newline at end of file + 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 index(request): +# lastest_question_list = Question.objects.order_by("-pub_date")[:5] +# template = loader.get_template("polls/index.html") +# context = { +# "lastest_question_list": lastest_question_list +# } +# return HttpResponse(template.render(context, request)) + + +# def detail(request, question_id): +# try: +# question = Question.objects.get(pk=question_id) +# except Question.DoesNotExist: +# raise Http404("Question does not exist") +# return render(request, "polls/detail.html", {"question": question}) + + +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) \ No newline at end of file