def question(request, questionId):#page with answers profile = Profile.objects.get_profile(request.user) question = get_object_or_404(Question, pk=questionId) tbags = Tag.objects.all() answers = Answer.objects.get_answers_to_question(questionId) page, paginator = paginate(answers, request) form = AnswerForm() error_message = '' if request.method == 'POST': form = AnswerForm(request.POST) if form.is_valid(): Answer.objects.create_answer(profile, form.cleaned_data['answerTextField'], question) return redirect('/ask/question/' + str(questionId)) else: error_message = form.errors # 'Form\'s not valid' context = { 'question': question, 'answers': page, 'paginator': paginator, 'tags': tbags, 'form': form, 'error_message': error_message, 'profile': profile, 'user': request.user, } context.update(csrf(request)) return render_to_response('question.html', context)
def question(request): try: question_id = int(request.GET.get('id')) except ValueError: raise Http404("id не число") current_question = Question.objects.get(pk=question_id) if request.method == 'POST': if not request.user.is_authenticated: # todo вернуть ошибку pass form = AnswerForm(request.POST) if form.is_valid(): ans = Answer.objects.create(author=request.user, question=current_question, text=form.cleaned_data['text']) return HttpResponseRedirect(request.get_full_path()) else: # todo вернуть ошибку pass else: form = AnswerForm() list_answers = current_question.answer_set.all() context = { 'list_answers': list_answers, 'question': current_question, 'form': form, } return render(request, 'question.html', context)
def question(request, qid, page=1): try: q = Question.objects.get_single(int(qid)) answersObjs = Answer.objects.by_id(q.id) answers, page_range = paginate(answersObjs, 4, page) if request.method == "POST": form = AnswerForm(request.POST) if form.is_valid(): answer, page = form.save(request, q) print(connection.queries) return HttpResponseRedirect('/question/' + str(q.id) + '/' + str(page)) else: form = AnswerForm() except Question.DoesNotExist: raise Http404() context = { "question": q, "answers": answers, "page_range": page_range, "pag_url": 'questions', "form": form, } print(connection.queries) return render(request, 'question.html', context)
def question(request, question_number): question = get_object_or_404(Question, id=question_number) since = request.GET.get('since') answers, since = Answer.objects.main(since, question) if request.method == "POST": form = AnswerForm(request.POST) if form.is_valid(): if request.user.is_anonymous: answer = form.save(question_id=question_number) else: answer = form.save(user=request.user, question_id=question_number) question = answer.question return HttpResponseRedirect("/question/{}/".format(question.id)) else: form = AnswerForm() return render(request, 'ask/question.html', { 'answers': answers, 'question': question, 'since': since, 'form': form, 'username': request.user.username })
def question(request, question_id, page=None): ques = Question.objects.get(id=question_id) answers = ques.answer_set.all() answers_on_page = paginate(answers, request, 10, page) User = getAuthenticatedUser(request) if User != None: if request.POST: form = AnswerForm(request.POST) if form.is_valid(): answer = form.saveAnswer(User, question_id) page = answers.count() / 10 if (answers.count() % 10 != 0): page += 1 return redirect('/question/' + str(question_id) + '/' + str(page)) else: form = AnswerForm() else: form = AnswerForm() return render(request, 'ask/question.html', { 'answers': answers_on_page, 'question': ques, 'page': page, 'form' : form, })
def post(self, request, id): try: profile = Profile.objects.get(user=request.user) except Profile.DoesNotExist: profile = Profile(user=request.user) q = Question.objects.get(pk=id) answers = Answer.objects.filter(question=q) answers = paginate(answers, request) form = AnswerForm(data=request.POST, user=profile, id=id) if form.is_valid(): form.save() return HttpResponseRedirect("../question/" + str(id)) return render(request, 'questions.html', { "question": q, "answers": answers, 'form': form })