Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.http import HttpResponse
- from . models import Question
- from django.shortcuts import get_object_or_404
- from django.views.decorators.csrf import csrf_exempt
- from django.shortcuts import render
- from django.http import HttpResponseRedirect
- from . models import Choice
- from django.contrib.staticfiles.templatetags.staticfiles import static
- # Create your views here.
- @csrf_exempt
- def index(request):
- latest_question_list = Question.objects.order_by('-pub_date')[:5]
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'
- for question in latest_question_list:
- output = output + '<li><a href="/polls/' + str(question.id) + '/">' + question.question_text + '</a></li>'
- output = output + "</ul>"
- return HttpResponse(output)
- @csrf_exempt
- def detail(request, question_id):
- question = get_object_or_404(Question, pk=question_id)
- question_id = int(question_id)
- output = ""
- if question_id == 1:
- output = "You're looking at the 1st question"
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id == 2:
- output = "You're looking at the 2nd question."
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id == 3:
- output = "You're looking at the 3rd question."
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id >= 4 and question_id <= 20:
- output = "You're looking at the %dth question." % question_id
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id % 10 == 1 and question_id != 11:
- output = "You're looking at the %dst question." % question_id
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id % 10 == 2 and question_id != 12:
- output = "You're looking at the %dnd question." % question_id
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id % 10 == 3 and question_id != 13:
- output = "You're looking at the %drd question." % question_id
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- elif question_id % 10 >= 4 and question_id >= 24:
- output = "You're looking at the %dth question." % question_id
- output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
- output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
- count = 1
- for choice in question.choice_set.all():
- output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
- output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
- count += 1
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
- return HttpResponse(output)
- @csrf_exempt
- def vote(request, question_id):
- question = get_object_or_404(Question, pk=question_id)
- try:
- user_choice = question.choice_set.get(pk=request.POST['choice'])
- except (KeyError, Choice.DoesNotExist):
- return HttpResponse("No choice selected.")
- else:
- user_choice.votes += 1
- user_choice.save()
- return HttpResponseRedirect("/polls/" + str(question_id) + "/results/")
- @csrf_exempt
- def results(request, question_id):
- question = get_object_or_404(Question, pk=question_id)
- output = '<h1></pre>' + question.question_text + '</h1><ul>'
- for choice in question.choice_set.all():
- output = output + '<li>'+ choice.choice_text + ' >>> ' + str(choice.votes)
- output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output +'</ul>'
- return HttpResponse(output)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement