Advertisement
Guest User

Untitled

a guest
Dec 16th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. class BoxesView(ListView, FormMixin):
  2. template_name = 'polls.html' # extends base.html
  3. form_class = UserRegistrationForm
  4.  
  5. def get_context_data(self, **kwargs):
  6. context = super(BoxesView, self).get_context_data()
  7.  
  8. question_list = Question.objects.all().order_by('-date')
  9. choice = Choice.objects.all()
  10. context['question_list'] = question_list
  11. context['choice'] = choice
  12.  
  13. q_list = []
  14. returned_list = []
  15.  
  16. for i in question_list:
  17. q_list.append(i)
  18.  
  19. for a, b in CATEGORY_CHOICES:
  20. name = resolve(self.request.path_info).url_name
  21. if b == name:
  22. category = a
  23.  
  24. search = self.request.GET.get('search')
  25. posts = Post.objects.all().filter(category=category).order_by('-date')
  26. if search:
  27. posts = posts.filter(
  28. Q(title__icontains=search) |
  29. Q(content__icontains=search)
  30. )
  31. else:
  32. posts = Post.objects.all().filter(category=category).order_by('-date')
  33.  
  34. context['posts'] = posts
  35.  
  36. total = 0
  37. for post in posts:
  38. returned_list.append(post)
  39. total += 1
  40. if total == 4:
  41. total = 0
  42. for i in q_list:
  43. returned_list.append(i)
  44. q_list.remove(i)
  45. break
  46.  
  47. paginator = Paginator(returned_list, 14)
  48. page = self.request.GET.get('page')
  49.  
  50. try:
  51. lst = paginator.page(page)
  52. except PageNotAnInteger:
  53. # If page is not an integer, deliver first page.
  54. lst = paginator.page(1)
  55. except EmptyPage:
  56. # If page is out of range (e.g. 9999), deliver last page of results.
  57. lst = paginator.page(paginator.num_pages)
  58.  
  59. context['lst'] = lst
  60.  
  61. return context
  62.  
  63. def get_queryset(self):
  64. pass
  65.  
  66.  
  67. def register(request):
  68. form = UserRegistrationForm(request.POST)
  69. if form.is_valid():
  70. username = form.cleaned_data['username']
  71. password = form.cleaned_data['password']
  72. email = form.cleaned_data['email']
  73. user = User.objects.create_user(username=username, password=password, email=email)
  74. user.save()
  75. return redirect('/')
  76. else:
  77. form = UserRegistrationForm()
  78. return redirect('/')
  79.  
  80.  
  81. def user_login(request):
  82. form_login = UserLoginForm(request.POST)
  83. if form_login.is_valid():
  84. username = form_login.cleaned_data['username']
  85. password = form_login.cleaned_data['password']
  86. user = authenticate(username=username, password=password)
  87. login(request, user)
  88. else:
  89. form_login = UserLoginForm()
  90. return redirect('/')
  91.  
  92. class UserLoginForm(forms.ModelForm):
  93. username = forms.CharField(max_length=25)
  94. password = forms.CharField(widget=forms.PasswordInput)
  95.  
  96. class Meta:
  97. model = User
  98.  
  99. fields = [
  100. 'username',
  101. 'password'
  102. ]
  103.  
  104.  
  105. class UserRegistrationForm(forms.ModelForm):
  106. email = forms.EmailField()
  107. username = forms.CharField(max_length=25)
  108. password = forms.CharField(widget=forms.PasswordInput)
  109. confirm_password = forms.CharField(widget=forms.PasswordInput)
  110.  
  111. class Meta:
  112. model = User
  113.  
  114. fields = [
  115. 'username',
  116. 'email',
  117. 'password',
  118. 'confirm_password',
  119. ]
  120.  
  121. <form method="post" enctype="multipart/form-data" action="{% url 'user_login' %}">{% csrf_token %}
  122. <div class="loginWrapper">
  123. <div class="login">
  124. <div class="loginBox">
  125. {{ form_login.username }}
  126. {{ form_login.password }}
  127. <input type="submit" value="login" style="margin-left: 10px"/>
  128. </div>
  129. </div>
  130. </div>
  131. </form>
  132.  
  133. <form method="post" enctype="multipart/form-data" action="{% url 'register' %}">{% csrf_token %}
  134. <div class="registerWrapper">
  135. <div class="register">
  136. <div class="registerBox">
  137. {{ form.errors }}
  138. {{ form.username|placeholder:"username" }}
  139. {{ form.email|placeholder:"email" }}
  140. {{ form.password|placeholder:"password" }}
  141. {{ form.confirm_password|placeholder:"confirm password" }}
  142. <input type="submit" value="register" />
  143.  
  144. </div>
  145. </div>
  146. </div>
  147. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement