Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.35 KB | None | 0 0
  1. from django.http import HttpResponse
  2. from . models import Question
  3. from django.shortcuts import get_object_or_404
  4. from django.views.decorators.csrf import csrf_exempt
  5. from django.shortcuts import render
  6. from django.http import HttpResponseRedirect
  7. from . models import Choice
  8. from django.contrib.staticfiles.templatetags.staticfiles import static
  9. # Create your views here.
  10. @csrf_exempt
  11. def index(request):
  12. latest_question_list = Question.objects.order_by('-pub_date')[:5]
  13. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'
  14. for question in latest_question_list:
  15. output = output + '<li><a href="/polls/' + str(question.id) + '/">' + question.question_text + '</a></li>'
  16. output = output + "</ul>"
  17. return HttpResponse(output)
  18. @csrf_exempt
  19. def detail(request, question_id):
  20. question = get_object_or_404(Question, pk=question_id)
  21. question_id = int(question_id)
  22. output = ""
  23. if question_id == 1:
  24. output = "You're looking at the 1st question"
  25. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  26. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  27. count = 1
  28. for choice in question.choice_set.all():
  29. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  30. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  31. count += 1
  32. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
  33. return HttpResponse(output)
  34. elif question_id == 2:
  35. output = "You're looking at the 2nd question."
  36. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  37. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  38. count = 1
  39. for choice in question.choice_set.all():
  40. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  41. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  42. count += 1
  43. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
  44. return HttpResponse(output)
  45. elif question_id == 3:
  46. output = "You're looking at the 3rd question."
  47. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  48. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  49. count = 1
  50. for choice in question.choice_set.all():
  51. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  52. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  53. count += 1
  54. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
  55. return HttpResponse(output)
  56. elif question_id >= 4 and question_id <= 20:
  57. output = "You're looking at the %dth question." % question_id
  58. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  59. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  60. count = 1
  61. for choice in question.choice_set.all():
  62. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  63. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  64. count += 1
  65. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>'+ output + '<input type="submit" value = "Vote" /></form>'
  66. return HttpResponse(output)
  67. elif question_id % 10 == 1 and question_id != 11:
  68. output = "You're looking at the %dst question." % question_id
  69. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  70. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  71. count = 1
  72. for choice in question.choice_set.all():
  73. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  74. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  75. count += 1
  76. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
  77. return HttpResponse(output)
  78. elif question_id % 10 == 2 and question_id != 12:
  79. output = "You're looking at the %dnd question." % question_id
  80. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  81. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  82. count = 1
  83. for choice in question.choice_set.all():
  84. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  85. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  86. count += 1
  87. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
  88. return HttpResponse(output)
  89. elif question_id % 10 == 3 and question_id != 13:
  90. output = "You're looking at the %drd question." % question_id
  91. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  92. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  93. count = 1
  94. for choice in question.choice_set.all():
  95. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  96. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  97. count += 1
  98. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
  99. return HttpResponse(output)
  100. elif question_id % 10 >= 4 and question_id >= 24:
  101. output = "You're looking at the %dth question." % question_id
  102. output = "<h1>" + question.question_text + "</h1>""<p>" + output + "</p>"
  103. output = output + '<form action ="/polls/' + str(question_id) + '/vote/" method = "post">'
  104. count = 1
  105. for choice in question.choice_set.all():
  106. output = output + '<input type="radio" name = "choice" id="choice' + str(count) + '" value ="' + str(choice.id) + '" />'
  107. output = output + '<label for="choice' + str(count) + '">' + choice.choice_text + '</label><br />'
  108. count += 1
  109. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output + '<input type="submit" value = "Vote" /></form>'
  110. return HttpResponse(output)
  111.  
  112.  
  113.  
  114. @csrf_exempt
  115. def vote(request, question_id):
  116. question = get_object_or_404(Question, pk=question_id)
  117. try:
  118. user_choice = question.choice_set.get(pk=request.POST['choice'])
  119. except (KeyError, Choice.DoesNotExist):
  120. return HttpResponse("No choice selected.")
  121. else:
  122. user_choice.votes += 1
  123. user_choice.save()
  124. return HttpResponseRedirect("/polls/" + str(question_id) + "/results/")
  125.  
  126. @csrf_exempt
  127. def results(request, question_id):
  128. question = get_object_or_404(Question, pk=question_id)
  129. output = '<h1></pre>' + question.question_text + '</h1><ul>'
  130. for choice in question.choice_set.all():
  131. output = output + '<li>'+ choice.choice_text + ' >>> ' + str(choice.votes)
  132. output = '<head><link rel="stylesheet" href ="' + static('polls/style.css') + '"></head> <ul>' + output +'</ul>'
  133. return HttpResponse(output)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement