def question_page(request, id): try: question = Question.objects.get(id=id) except Question.DoesNotExist: raise Http404 user = 1 if request.method == "POST": # form = AnswerForm(user, request.POST) form = AnswerForm(request.POST) if form.is_valid(): url = "/question/" + str(id) + "/" form.save() # return HttpResponse("is valid!") # return HttpResponseRedirect("/") return HttpResponseRedirect(url) else: form.clean() else: # form = AnswerForm(request, initial={'question': str(id)}) form = AnswerForm(initial={'question': str(id)}) answer = Answer.objects.filter(question_id=id) return render(request, 'question_page.html', { 'post': question, 'answer': answer, 'form': form, })
def answer_add(request, question, answers): print( '\nОтрисовываю форму добавления ответа и связи с вопросом:\n request.POST = ', request.POST, ', type = ', type(request.POST), '\n requset.GET = ', request.GET, '\n request = ', request, '\n question = ', question, ', type = ', type(question), '\n question.get_url() = ', question.get_url(), '\n question.id = ', question.id, '\n answers = ', answers, '\n') if request.method == "POST": form = AnswerForm(request.POST, initial={'question': question.id}) if form.is_valid(): form.clean() answer = form.save() answer.author = request.user answer.save() url = question.get_url() print('\nОтвет добавлен, переадресовываю на URL: ', url, '\nТекущий юзер: ', request.user) return HttpResponseRedirect(url) else: form = AnswerForm(initial={'question': question.id}) return render( request, 'qa/question.html', { 'question': question, 'answers': answers, 'form': form, 'username': get_user(request).username, })
def question(request, question_id): question = get_object_or_404(Question, pk=question_id) answers = Answer.objects.filter(question=question_id) if request.method == "POST": form = AnswerForm(request.POST) if form.is_valid(): form.clean() form._user = request.user form.save() HttpResponseRedirect('/question/%s/' % question_id) else: form = AnswerForm() return render(request, 'qa/question.html', { 'question': question, 'answers': answers, 'form': form })
def question_details(request, pk): question = get_object_or_404(Question, id=pk) answers = Answer.objects.filter(question=question) if request.method == 'POST': form = AnswerForm(request.POST) if form.is_valid(): form.clean() form.save(author=request.user) return HttpResponseRedirect(question.get_url()) else: form = AnswerForm(initial={'question': pk}) return render(request, 'qa/question_details.html', {'question': question, 'answers': answers[:], 'form': form})