Example #1
0
File: views.py Project: kyuiva/2_6
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,
    })
Example #2
0
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,
        })
Example #3
0
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
    })
Example #4
0
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})