def question(request, page=None, qnum=None): try: q = Question.objects.get(id=qnum) except Question.DoesNotExist: raise Http404 answers = Answer.objects.filter(question=qnum) answer_on_page = paginate(answers, request, 4, page) if request.POST: form = AnswerForm(request.POST) if form.SaveAnswer(request,qnum): redirect_to = '/question/'+qnum+'/' return HttpResponseRedirect(redirect_to) else: mistake = 'failed!' return render(request,'ask/question.html',{ 'form':form, 'answers':answer_on_page, 'qnum':qnum, 'page' : page, 'q':q, 'mistake':mistake, } ) else: form = AnswerForm() return render(request,'ask/question.html',{ 'form':form, 'answers':answer_on_page, 'qnum':qnum, 'page' : page, 'q':q } )
def popular(request): questions = Question.objects.popular() page = paginate(request, questions) return render( request, 'ask/popular.html', { 'questions': page.object_list, 'page': page, 'username': request.user.username })
def home(request): questions = Question.objects.new() page = paginate(request, questions) return render( request, 'ask/home.html', { 'questions': page.object_list, 'page': page, 'username': request.user.username })
def hot(request, page=None): questions=Question.objects.hot() question_on_page = paginate(questions, request, 4, page) return render(request,'ask/index.html',{ 'questions':question_on_page, 'pointer_hot':pointer, 'page' : page, } )
def questions_by_tag(request): tag_id = request.GET.get('tag') questions = Question.objects.get_by_tag(tag_id) tags = Tag.objects.popular() page = paginate(request, questions) return render(request, 'ask/home.html', { 'questions': page.object_list, 'tags': tags, 'page': page, 'username': request.user.username })
def index(request, page=None): #pager =Paginator(questions, 4) #qlist = pager.page(page or 1) try: questions=Question.objects.newest() except Question.DoesNotExist: raise Http404 questions_on_page = paginate(questions, request, 4, page) return render(request,'ask/index.html',{ 'questions':questions_on_page, 'page' : page, } )
def list_questions(request, questions, page, title, base_url): try: q, paginator = paginate(questions, page) except PaginatorError: raise Http404() if request.user.is_authenticated(): for m in MarkQuestion.objects.filter(author=request.profile, question__in=q): for question in q: if m.question == question: if m.is_good: question.liked = True else: question.disliked = True return render( request, 'questions.html', { 'title': title, 'questions': q, 'paginator': paginator, 'base_url': base_url })
def question(request, id, page=1): try: q = Question.objects.get(id=id) except int: return Http404() try: a, paginator = paginate( Answer.objects.filter(question_id=q.id).all(), page) except PaginatorError: raise Http404() is_author = False if request.user.is_authenticated(): is_author = (q.author == request.profile) m = MarkQuestion.objects.filter(question=q, author=request.profile) if m.exists(): q.liked = (m[0].is_good == True) q.disliked = (m[0].is_good == False) for m in MarkAnswer.objects.filter(author=request.profile, answer__in=a): for answer in a: if m.answer == answer: if m.is_good: answer.liked = True else: answer.disliked = True base_url = reverse('question', kwargs={'id': id}) return render( request, 'question.html', { 'question': q, 'answers': a, 'base_url': base_url, 'paginator': paginator, 'is_author': is_author, })