modify detail view use new methods for return 404.

main
roger 3 years ago
parent dcb683de36
commit 6792a0795c
  1. 7
      polls/templates/detail.html
  2. 22
      polls/views.py

@ -5,6 +5,11 @@
<title>Title-{{ question }}</title>
</head>
<body>
{{ question }}
<h1>{{ question.question_text }}</h1>
<ul>
{% for choice in question.choice_set.all %}
<li>{{ choice.choice_text }}</li>
{% endfor %}
</ul>
</body>
</html>

@ -1,4 +1,5 @@
from django.shortcuts import render
from django.shortcuts import get_object_or_404
from django.http import HttpResponse
from django.http import Http404
from .models import Question
@ -26,15 +27,18 @@ def index(request):
def detail(request, question_id):
# return HttpResponse(f"You're looking at question {question_id}.")
# 添加404页面展示
try:
question = Question.objects.get(pk=question_id)
context = {'question': question}
print(context)
except Question.DoesNotExist:
raise Http404("Question does not exist")
return render(request, 'detail.html', context)
# 添加404页面展示 方式1
# try:
# question = Question.objects.get(pk=question_id)
# context = {'question': question}
# print(context)
# except Question.DoesNotExist:
# raise Http404("Question does not exist")
# return render(request, 'detail.html', context)
# 添加404页面展示 方式2
question = get_object_or_404(Question, pk=question_id)
return render(request, 'detail.html', {'question': question})
def result(request, question_id):
return HttpResponse(f"You're looking at the result of question {question_id}.")

Loading…
Cancel
Save