def test_no_questions(self): """ If no questions exist, an appropriate message is displayed. """ response = self.client.get(reverse('polls:index')) self.assertEqual(respons.status_code, 200) self.assertContains(response, "No polls are available.") self.assertQuerysetEqual(response.context['latest_question_list'], [])
def test_future_question(self): """ Questions with a pub_date in the future aren't displayed on the index page. """ create_question(question_text="Future question.", days=30) response = self.client.get(reverse('polls:index')) self.assertContains(response, "No polls are available.") self.assertQueryEqual( response.context['latest_question_list'],[])
def test_past_question(self): """ The detail view of a question with a pub_date in the past displays the question's text. """ past_question = create_question(question_text='Past Question.', days=-5) url = reverse('polls:detail', args=(past_question.id,)) response = self.client.get(url) self.assertContains(response, past_question.question_text)
def test_future_question(self): """ The detail view of a question with a pub_date in the future returns a 404 not found. """ future_question = create_question(question_text='Future question.', days=5) url = reverse('polls:detail', args=(future_question.id,)) response = self.client.get(url) self.assertEqual(response.status_code, 404)
def test_past_question(self): """ Questions with a pub_date in the past are displayed on the index page. """ create_question(question_text="Past question.", days=-30) response = self.client.get(reverse('polls:index')) self.assertQueryEqual( response.context['latest_question_list'], ['<Question: Past question.>'] )
def test_two_past_questions(self): """ The questions index page may display multiple questions. """ create_question(question_text="Past question 1.", days=-30) create_question(question_text="Past question 2.", days=-5) response = self.client.get(reverse('polls:index')) self.assertQuerysetEqual( response.context['latest_question_list'], ['<Question: Past question 2.>', '<Question: Past question 1.>'] )
def test_future_question_and_past_question(self): """ Even if both past and future questions exist, only past questions are displayed. """ create_question(question_text="Past question.", days=-30) create_question(question_text="Future question.", days=30) response = self.client.get(reverse('polls:index')) self.assertQueryEqual( response.context['latest_question_list'], ['<Question: Past question.>'] )
def vote(request, question_id): question = get_object_or_404(Question, pk=question_id) try: selected_choice = question.choice_set.get(pk=request.POST['choice']) except (KeyError, Choice.DoesNotExist): return render( request, 'poll/detail.html', { 'question': question, 'error_message': 'You did not select a choice.', }) else: selected_choice.votes += 1 selected_choice.save() return HttpResponseRedirect( reverse('polls:results', args=(question.id, )))
def get_absolute_url(self): return reverse("home:storyDetail", kwargs={"slug": self.slug})
def get_absolute_url(self): return reverse('posts:single',kwargs={'username':self.user.username, 'pk':self.pk })
def get_redirect_url(self, *args, **kwargs): return reverse('groups:single', kwargs={'slug': self.kwargs.get('slug')})
def logout(request): if request.method == 'GET': # operate_log django_logout(request) return redirect(reverse('common_web:login'))