Directory Structure
vim django-20231002/mysite/polls/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('hello django polls index')
def q_detail(request,question_id):
return HttpResponse('you are looking for %s.'%question_id)
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)
from django.template import loader
from .models import Question
def latest_question_list(request):
latest_question_list = Question.objects.order_by('-published_time')[:5]
template = loader.get_template('polls/index.html')
context = {
'latest_question_list': latest_question_list,
}
return HttpResponse(template.render(context, request))
vim django-20231002/mysite/polls/urls.py
from django.urls import path
from . import views
urlpatterns=[
path('index/',views.index,name='index'),
path('<int:question_id>/',views.q_detail),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),
path('latest_question_list/',views.latest_question_list,name='latest_question_list'),
]
vim django-20231002/mysite/polls/templates/polls/index.html
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li><a href="/polls/{
{ question.id }}/">{
{ question.question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
Show results
links:
write a really useful view