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
			}
		)
Esempio n. 2
0
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
        })
Esempio n. 3
0
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,
		}
	)
Esempio n. 5
0
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,
		}
	)
Esempio n. 7
0
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
        })
Esempio n. 8
0
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,
        })