示例#1
0
def answer_add(request, id):
    user = getUser(request)
    question = get_object_or_404(Question, id=id)
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid() == True:
            answer = form.save(question, user['user'])
            url = '/question/%d/' % int(id)
            return HttpResponseRedirect(url)
        if form.is_valid() == False:
            return HttpResponse('200')
    else:
        try:
            answers = Answer.objects.filter(question=question)
            answers = answers.order_by('-added_at')
            answers = answers[0:]
        except Answer.DoesNotExist:
            answers = []
        form = AnswerForm(initial={'question': question.id})
        return render(
            request, 'one_question.html', {
                'id': id,
                'title': question.title,
                'text': question.text,
                'author': question.author,
                'answers': answers,
                'form': form,
                'username': user['user'].username,
                'is_user': user['is_user'],
            })
示例#2
0
def question(request, slug):
    try:
        pk = int(slug)
    except ValueError:
        raise Http404

    try:
        q = Question.objects.get(pk=pk)
    except ObjectDoesNotExist:
        raise Http404

    if request.method == 'POST':
        if request.user.is_authenticated is False:
            return HttpResponseForbidden()
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/question/%s/' % pk)
    else:
        form = AnswerForm(initial={'question': pk})

    answers = Answer.objects.filter(question=q).all()
    return render(request,
                  'question_template.html',
                  {'q': q,
                   'form': form,
                   'answers': answers})
示例#3
0
def guestionOwn(request, id):
    num = int(id)
    try:
        question = Question.objects.get(id=num)
    except Question.DoesNotExist:
        raise Http404

    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            _ = form.save()
            url = question.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': num})
    # answers = Answer.objects.filter(question__id=num)

    return render(
        request, 'question.html', {
            'question': question,
            'title': question.title,
            'form': form,
            'user': request.user,
            'session': request.session,
        })
示例#4
0
def question(request, num):
    sessionid = request.COOKIES.get('sessionid', None)
    user = cook_auth(request)
    try:
        q = Question.objects.get(id=num)
    except Question.DoesNotExist:
        raise Http404

    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            if sessionid:
                session = Session.objects.get(key=sessionid)
                author = session.user
                answer.author = author
                answer.save()
            return HttpResponseRedirect(q.get_url())

    form = AnswerForm(initial={'question': q.id})
    answers = Answer.objects.filter(question=q)

    return render(request, 'question.html', {
        'question': q,
        'answers': answers,
        'form': form,
        'user': user,
    })
示例#5
0
文件: views.py 项目: 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,
    })
示例#6
0
def D_question(request, q_id):
    try:
        question = Question.objects.get(pk=q_id)
    except Question.DoesNotExist:
        raise Http404
    answers = Question.objects.get_answers(question)[:]
    user = request.user
    if user.is_authenticated():
        if request.method == 'POST':
            form = AnswerForm(request.POST)
            form._user = request.user
            if form.is_valid():
                answer = form.save(question)
                url = answer.question.get_url()
                return HttpResponseRedirect(url)
        else:
            form = AnswerForm(initial={'question': q_id})
        return render(request, 'D_question.html', {
            'form': form,
            'question': question,
            'answers': answers,
        })
    else:
        return render(request, 'D_question_anon.html', {
            'question': question,
            'answers': answers,
        })
示例#7
0
def question(request, pk):
    def render_with_answers():
        try:
            answers = Answer.objects.filter(question_id=pk)
        except Answer.DoesNotExist:
            answers = None
        return render(request, 'question.html', {
            'question': question_page,
            'answers': answers,
            'form': form,
        })

    question_page = get_object_or_404(Question, id=pk)
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            form.save()
            url = question_page.get_absolute_url()
            return HttpResponseRedirect(url)
        else:
            form.cleaned_data['question'] = pk
            return render_with_answers()
    else:
        form = AnswerForm(initial={'question': pk})
        return render_with_answers()
示例#8
0
def question_details(request, id):
    if request.method == 'GET':
        question = get_object_or_404(Question, id=id)
        form = AnswerForm()
        url_answer = reverse(question_details, args=(id, ))
        try:
            answers = Answer.objects.filter(question_id__exact=id)
        except Answer.DoesNotExist:
            answers = None
        return render(
            request, 'qa/question_details.html', {
                'question': question,
                'answers': answers,
                'form': form,
                'url': url_answer,
                'user': request.user,
            })
    if request.method == 'POST' and request.user.is_authenticated():
        form = AnswerForm(request.POST)
        if form.is_valid():
            ans = Answer()
            ans.save_data(form, request.user.id, id)
            return HttpResponseRedirect(reverse(question_details, args=(id, )))
        else:
            return HttpResponse('OK')
    else:
        return HttpResponseRedirect(reverse(qa_login, ))
def display_concrete(request, req_id):
    # POST
    if request.method == "POST":
        if request.user.is_authenticated:
            form = AnswerForm(request.POST)
            if form.is_valid():
                answer = form.save()
                answer.author = request.user
                answer.save()
                url = answer.question.get_url()
                return HttpResponseRedirect(url)
        # is_authentificated == False
        return HttpResponseRedirect("/login/")
    # GET
    question = get_object_or_404(
        Question,
        id=req_id,
    )
    answers = Answer.objects.filter(question=question)
    form = AnswerForm(initial={'question': req_id})
    print(form)
    return render(request, 'con_ques.html', {
        'question': question,
        'answers': answers,
        'form': form,
    })
示例#10
0
def answer(request, *args, **kwargs):
    form = AnswerForm(request.POST)
    form._user = request.user
    if form.is_valid():
        answer = form.save()
        return HttpResponseRedirect(answer.question.get_url())
    return Http404
示例#11
0
文件: views.py 项目: YuraVolk/Test
def question(request, q_id):

    q = get_object_or_404(Question, id=q_id)

    if request.method == 'POST':

        form = AnswerForm(request.POST)

        form.question = q.id

        if form.is_valid():

            form.save()

            return HttpResponseRedirect(q.get_url())

    else:

        form = AnswerForm(initial={'question': q.id})

    return render(request, 'qa/question.html', {
        'question': q,
        'answers': q.answer_set.all(),
        'answer': form
    })
示例#12
0
文件: views.py 项目: taisaquarius/web
def question(request, slug):
    question = get_object_or_404(Question, id=slug)
    try:
        answers = Answer.objects.all().filter(question_id=slug)
    except answers.DoesNotExist:
        print('answers were not found for question', slug)
        answers = None
    if request.method == "GET":
        author = get_user_by_session(request)
        form = AnswerForm()
        if author is not None:
            form.fields["author"].initial = author.username
            print('user', author, 'was extracted from session')
        return render(request, 'question_page.html', {
            'question': question,
            'answers': answers,
            'form': form
        })
    else:
        author = get_user_by_session(request)
        form = AnswerForm(request.POST)
        if author is not None:
            form.fields["author"].initial = author.username
            print('user', author, 'was extracted from session')
        if form.is_valid():
            form.save()
            print('answer was saved')
        else:
            print('answer form is invalid')
            print(form.errors)
        return render(request, 'question_page.html', {
            'question': question,
            'answers': answers,
            'form': form
        })
示例#13
0
def question(
    request,
    num,
):
    try:
        q = Question.objects.get(id=num)
    except Question.DoesNotExist:
        raise Http404
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            _ = form.save()
            url = q.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': q.id})

    return render(
        request, 'question.html', {
            'question': q,
            'form': form,
            'user': request.user,
            'session': request.session,
        })
示例#14
0
def question_page(request, **kwargs):
    logger = logging.getLogger(__name__)
    logger.debug('question_page')

    num = int(kwargs.get('num'))
    question = get_object_or_404(Question, id=num)

    if request.method == 'POST':
        if request.user.is_authenticated:
            form = AnswerForm(request.POST)
            form._user = request.user
            if form.is_valid():
                answer = form.save()
                url = question.get_url()
                logger.debug('url: {}'.format(url))
                newform = AnswerForm(initial={'question': question.pk})
                return render(
                    request, 'question.html', {
                        'question': question,
                        'title': question.title,
                        'answers': Answer.objects.filter(question=question)[:],
                        'form': newform,
                    })
        else:
            return HttpResponseRedirect('/login/')
    else:
        form = AnswerForm(initial={'question': question.pk})
        return render(
            request, 'question.html', {
                'question': question,
                'title': question.title,
                'answers': Answer.objects.filter(question=question)[:],
                'form': form,
            })
示例#15
0
def question_detail(request, question_id):
    """One question page. 
    This page displays the title, text of the question 
    and all the answers to this question.
    
    """
    question = get_object_or_404(Question, pk=question_id)
    answers = question.answer_set.all()
    form = AnswerForm(request.POST)

    if request.method == 'POST' and form.is_valid():
        form._user = request.user
        answers = form.save()
        url = question.get_url()
        return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': question_id})

    return render(
        request, 'question_detail.html', {
            'questions': question,
            'answers': answers,
            'user': request.user,
            'form': form,
        })
示例#16
0
def answer_add(request):
    answer_form = AnswerForm(request.POST)
    answer_form._user = request.user
    if answer_form.is_valid():
        answer = answer_form.save()        
    quest_id = request.POST['question']    
    return HttpResponseRedirect(reverse('question', args=[quest_id])) 
示例#17
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,
        })
示例#18
0
文件: views.py 项目: Kantair/test1
def answer(request) :
	if request.method == "POST" :
		form = AnswerForm(request.POST)
		if form.is_valid():
			answer = form.save()
			url = '/question/' + form.question
			return HttpResponseRedirect(url)
示例#19
0
文件: views.py 项目: Megaco/web
def answer(request):
    form = AnswerForm(request.POST)
    form.author = request.user
    if form.is_valid():
        post = form.save()
        #url = post.get_url()
        return HttpResponseRedirect(reverse('question', args=[post.question.id]))
    return HttpResponseRedirect('/')
示例#20
0
def answer(request):
    form = AnswerForm(request.POST)
    if form.is_valid():
        a = form.save(request.user)
        url = a.question.get_url() + "?answer_added=True"
    else:
        url = '/question/' + form.data.get('question') + "?answer_added=False"
    return HttpResponseRedirect(url)
示例#21
0
文件: views.py 项目: aatl/stepic_web
def answerHandle(request):
    answer = AnswerForm(request.POST)
    answer._user = request.user
    if answer.is_valid():
        answer = answer.save()
        return HttpResponseRedirect('/question/' + str(answer.question_id))

    return HttpResponseRedirect('/question/' + str(answer.get_question()) )
示例#22
0
def answer_add(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            post = form.save()
            # url = post.get_url()
            return HttpResponseRedirect(reverse('question', args=[post.question.id]))
    return HttpResponseRedirect('/')
示例#23
0
文件: views.py 项目: girik108/stepic
def answer(request, *args, **kwargs):
    if request.method == "POST":
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            ans = form.save()
            url = ans.redir_url()
            return HttpResponseRedirect(url)
示例#24
0
文件: views.py 项目: Grian/tech2
def answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            answer = form.save()
            return HttpResponseRedirect(answer.question.get_url())
    return question(request,form.cleaned_data["question_id"],form = form)
示例#25
0
文件: views.py 项目: noknod/sm_web
def answer_add(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            answer = form.save()
            url = answer.question.get_absolute_url()
            return HttpResponseRedirect(url)
    HttpResponseRedirect('/')
示例#26
0
def answer(request):
    form = AnswerForm(request.POST)
    if form.is_valid():
        form._user = request.user
        question = form.save()
        url = question.get_url()
        return HttpResponseRedirect(url)
    question = Question.objects.get(pk=form.question)
    return render(request, 'question.html', {'quest': question, 'form': form})
示例#27
0
def add_answer(request):
    if request.method == "POST":
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            answer_obj = form.save()
            question_obj = answer_obj.question
            url = question_obj.get_url()
            return HttpResponseRedirect(url)
示例#28
0
 def post(self,request, pk):
     bound_form=AnswerForm(request.POST)
     qs=Question.objects.get(pk=pk)
     if bound_form.is_valid():
         bound_form._user=request.user
         bound_form.save()
         return redirect(qs)
     else:
         return render (request, 'qa/question_detail.html', context={'form':bound_form,'question':qs})
示例#29
0
文件: views.py 项目: StealthyFox/web
def question_answer(request):
	if request.method == 'POST':
		form = AnswerForm(request.POST)
		if form.is_valid():
			form._user = request.user
			answer = form.save()
			url = reverse('question', args=[answer.question.id])
			return HttpResponseRedirect(url)
	return HttpResponseRedirect('/')	
示例#30
0
def question_ans(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            answer = form.save()
            url = answer.get_url()
            return HttpResponseRedirect(url)
    return HttpResponseRedirect('/')
示例#31
0
文件: views.py 项目: AlexSmirnof/web
def answer(request, *args, **kwargs):
    form = AnswerForm(request.POST)
    if request.user.is_authenticated():
            form._user = request.user
    if form.is_valid():
        a = form.save()
        return HttpResponseRedirect('/question/' + str(a.question.pk) + '/')
    else:
        return HttpResponseRedirect('/question/' + str(a.question.pk) + '/?err=1')    
示例#32
0
def question_answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            answer = form.save()
            url = reverse('question_detail', args=[answer.question.id])
            return HttpResponseRedirect(url)
    return HttpResponseRedirect('/')
示例#33
0
def answer(request):
    form = AnswerForm(request.POST)
    if request.user.is_authenticated():
        form._user = request.user
    if form.is_valid():
        a = form.save()
        return HttpResponseRedirect('/question/' + str(a.question.pk) + '/')
    else:
        return HttpResponseRedirect('/question/' + str(a.question.pk) + '/?err=1')
示例#34
0
def answer(request):
    if request.method == 'POST':
        answform = AnswerForm(request.POST)
        if answform.is_valid():
            answeritem = answform.save()
            q = answeritem.question
            return HttpResponseRedirect('/question/' + str(q.id))
    else:
        answform = AnswerForm()
    return render(request, 'qa/answer.html', {'f': answform})
示例#35
0
def answer_add(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            url = '/question/%d/' % answer.question_id
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'answer_add.html', {"form": form})
示例#36
0
文件: views.py 项目: a-shar/web_tech
def answer(request, *args, **kwargs):
    answer = Answer(author=request.user)
    form = AnswerForm(request.POST, instance=answer)
    if form.is_valid():
        answer.save()
        url = answer.question.get_url()
        return HttpResponseRedirect(url)

    q = get_object_or_404(Question, id=form['question'].data)
    return HttpResponseRedirect(q.get_url())
示例#37
0
def answer_add(request):
    if request.method == 'GET':
        return HttpResponseRedirect('/', request)

    form = AnswerForm(request.POST)
    if form.is_valid():
        form._user = request.user
        answer = form.save()
        return HttpResponseRedirect(answer.get_url())
    return HttpResponseRedirect('/question/%s/' % request.POST['question'])
示例#38
0
def answer_add(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = request.user
            post = form.save()
            # url = post.get_url()
            return HttpResponseRedirect(
                reverse('question', args=[post.question.id]))
    return HttpResponseRedirect('/')
示例#39
0
def save_answer(request):
    user = request.user
    if request.method == 'POST' and user.is_authenticated():
        form = AnswerForm(request.POST)
        form.user = user
        if form.is_valid():
            answer = form.save()
            return HttpResponseRedirect(reverse('question_details', kwargs={'question_id': answer.question.id}))

    return HttpResponseRedirect(reverse('login'))
示例#40
0
def question_answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            form.profile_user = Profile.objects.get_profile(request.user)
            answer = form.save()
            url = reverse('question', args=[answer.question.id
                                            ]) + "#answer_" + str(answer.id)
            return HttpResponseRedirect(url)
    return HttpResponseRedirect('/')
示例#41
0
def answer(request):
    form = AnswerForm(request.POST)
    if form.is_valid():
	form._user = request.user
	question = form.save()
	url = question.get_url()
	return HttpResponseRedirect(url)
    question = Question.objects.get(pk=form.question)
    return render(request, 'question.html', {
	'quest': question, 'form': form
    })
def answer(request):
    user = request.user
    if request.method == "POST":
        if not user.is_authenticated():
            raise Http404
        form = AnswerForm(request.POST)
        if form.is_valid():
            form._user = user
            answer = form.save()
            url = '/question/' + form.question
            return HttpResponseRedirect(url)
示例#43
0
文件: views.py 项目: orman071/dj
def ans(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.save()
            return HttpResponseRedirect('/')
    else:
        form = AnswerForm()
    return render(request, 'ans.html', {'form': form})
示例#44
0
文件: views.py 项目: alex-zubenko/web
def add_answer(request):
    if request.method == "POST":
            form = AnswerForm(request.POST)
            if form.is_valid():
            	post = form.save()
            	question = Question.objects.get(id=post.question.id)
            	url = question.get_url()
            	return HttpResponseRedirect(url)
    else:
            form = AnswerForm()
    return render(request, 'add_answer.html', {'form': form})
示例#45
0
文件: views.py 项目: K-DOT/stepic_web
def answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            return HttpResponseRedirect(reverse('question', args=[answer.question.id,]))
        else:
            print('Error')
            return render(request, 'question.html', {
                'form' : form,
            })
示例#46
0
文件: views.py 项目: altakh/web
def answer_add(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
	    url = '/question/%d/' % answer.question_id
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'answer_add.html', {
        "form": form
    })
示例#47
0
def answer_add(request):
	if request.method == "POST":
		form = AnswerForm(request.POST)
		#print request.user
		form._user = request.user
		if form.is_valid():
			#print form.cleaned_data
			answer = form.save()
			#print answer.text
			#print answer.author
			url = answer.get_url()
			return HttpResponseRedirect(url)
示例#48
0
def answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            q_id = answer.question_id
            question = get_object_or_404(Question, pk=q_id)
            url = question.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'question_page.html', {'form': form})
示例#49
0
def question(request, id):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = Answer(**form.cleaned_data)
            answer.save()
    question = get_object_or_404(Question, pk=id)
    form = AnswerForm()
    return render(request, 'qa/question.html', {
        'question': question,
        'form': form
    })
示例#50
0
def answer(request) :
	user = request.user
	if request.method == "POST" :
		form = AnswerForm(request.POST)
		if form.is_valid():
			if user.is_authenticated() :
				form.author = user
				answer = form.save()
				url = '/question/' + form.question
				return HttpResponseRedirect(url)
			else :
				raise Http404
示例#51
0
文件: views.py 项目: MelroiN/web_test
def answer_add(request, question_id):
	if request.method == "POST":
		form = AnswerForm(request.POST)
		form.user=request.user
		if form.is_valid():
			answer = form.save()
			return redirect('question_details', answer.question.id)
	else:
		form = AnswerForm()
	return render(request, 'qa/question_details.html', {	
		'form': form,
	})
示例#52
0
def question(request, question_id):
    qq = get_object_or_404(Question, pk=question_id)
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            a = form.save()
            url = '/question/%d/' % a.question.id
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm()
    return render(request, 'qa/question.html', {'q': qq, 'form': form})
示例#53
0
def answer_add(request):
    if request.method == "POST":
        form = AnswerForm(request.POST)
        form._user = request.user

        if form.is_valid():
            answer = form.save()
            url = answer.get_url()
            return HttpResponseRedirect(url)

    else:
        form = AnswerForm()
    return render(request, 'qa/answer_add.html', {'form': form})
示例#54
0
def vq123(request, dd):
    question = Question.objects.get(id=dd)
    if request.method == "POST":
        form = AnswerForm(request.POST)
        if form.is_valid():
            answer = form.save()
            url = answer.get_url()
            return HttpResponseRedirect(url)
    else:
        form = AnswerForm(initial={'question': question.id})
    return render(request, 'question.html', {
        'form': form,
    })
示例#55
0
def answer(request):
    if request.method == 'POST':
        answer = AnswerForm(request.POST)
            
        if answer.is_valid():
            answer.user = request.user 
            answer.save()
            
        next = request.GET.get('next', '/')

        return HttpResponseRedirect(next)
        
    raise Http404
示例#56
0
def answer_add(request, *args, **kwargs):
    form = AnswerForm(request.POST)
    if form.is_valid():
        answer = form.save()
        url = answer.question.get_url()
        return HttpResponseRedirect(url)
    else:
        question = get_object_or_404(Question, id=request.POST.get('question'))
        return render(request, 'qa/question_details.html', {
            'question': question,
            'form': form,
            'answers': question.answer_set.all()[:],
            })
示例#57
0
def add_answer(request):
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        form._user = request.user
        if form.is_valid():
            answer = form.save()
            url = answer.get_absolute_url()
            return HttpResponseRedirect(url)
        else:
            try:
                form = AnswerForm()
                url = '/question/%s/' % request.POST['question']
                return HttpResponseRedirect(url)
            except:
                return render("200")
示例#58
0
文件: views.py 项目: sbahn/tmp_stepic
def question(request, id):
    try:
        question = Question.objects.get(pk=id)
    except Question.DoesNotExist:
        raise Http404
    if request.method == 'POST':
        form = AnswerForm(request.POST)
        form._user_id = request.user_id
        if form.is_valid():
            answer = form.save()
            return HttpResponseRedirect(answer.question.get_url())
    else:
        form = AnswerForm()
    return render(request, 'qa/question.html', {
        'question': question,
        'form': form,
    })
示例#59
0
def questionDetails(request, *args, **kwargs):
    questionId = kwargs['questionId']
    question = get_object_or_404(Question, id = questionId)
    answers = Answer.objects.filter(question = question)
    
    if request.method == 'POST':
      form = AnswerForm(request.POST)
      if form.is_valid():
         form.save() 
         url = question.get_url()
         return HttpResponseRedirect(url)
    else:   
      form = AnswerForm(initial={'question':questionId}) 
    return render(request, 'qa/AnswerForm.html', {
                        'question': question,                       
                        'answers': answers,
                        'form': form, 
                         })
示例#60
0
def postAnswer(request, *args, **kwargs):
    if request.method == 'POST':
       form = AnswerForm(request.POST)
       form._user = request.user
       if form.is_valid():
          answer = form.save()
          question = Question.objects.get(id = form.cleaned_data['question'])
          url = question.get_url()
          return HttpResponseRedirect(url)
    #   return HttpResponse('answer form post') 
    else:
       form = AnswerForm()
    
    return render( request,
                   'qa/AnswerOnlyForm.html',
                   {
                     'form':form,
                     })