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 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, })
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 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, })
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, })
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 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, })
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})
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, })
def get_context_data(self, **kwargs): user = self.request.user question = self.object context = super(QuestionDetail, self).get_context_data(**kwargs) context['max_length_a_content'] = MAX_LENGTH_A_CONTENT context['answers'] = question.answers.filter(is_deleted=False) context['entity'] = question.entity can_answer = question.can_answer(user) context['can_answer'] = can_answer if can_answer: try: user_answer = question.answers.get(author=user) context['my_answer_form'] = AnswerForm(instance=user_answer) context['my_answer_id'] = user_answer.id except question.answers.model.DoesNotExist: context['my_answer_form'] = AnswerForm() context['can_flag'] = True if 'answer' in self.request.GET: try: answer = Answer.objects.get(pk=self.request.GET['answer']) context['fb_message'] = answer.content except: pass supporters = [vote.user for vote in question.upvotes.all()] supporters = [question.author] + supporters if user in supporters and user != question.author: supporters = [user] + [u for u in supporters if u != user] context['supporters'] = supporters return context
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 })
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'], })
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()
def get_context_data(self, **kwargs): context = super(QuestionDetail, self).get_context_data(**kwargs) context['max_length_a_content'] = MAX_LENGTH_A_CONTENT context['answers'] = self.object.answers.all() context['entity'] = self.object.entity can_answer = self.object.can_answer(self.request.user) context['can_answer'] = can_answer if can_answer: try: user_answer = self.object.answers.get(author=self.request.user) context['my_answer_form'] = AnswerForm(instance=user_answer) context['my_answer_id'] = user_answer.id except self.object.answers.model.DoesNotExist: context['my_answer_form'] = AnswerForm() if self.request.user.is_authenticated() and \ not self.request.user.upvotes.filter(question=self.object).exists(): context['can_upvote'] = True else: context['can_upvote'] = False if 'answer' in self.request.GET: try: answer = Answer.objects.get(pk=self.request.GET['answer']) context['fb_message'] = answer.content except: pass return context
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, })
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, })
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 })
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})
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})
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})
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 })
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})
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, })
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})
def answer_add(request, question_id): question = Question.objects.get(id=question_id) if request.method == 'POST': form = AnswerForm(request.POST) form._user = request.user if form.is_valid(): answer = form.save() url = question.get_url() return HttpResponseRedirect(url) else: form = AnswerForm() return render(request, 'question_details.html', { 'form': form, })
def question(request, id): if request.method == "GET": q = get_object_or_404(Question, id=id) answers = Answer.objects.filter(question=q) return render(request, 'question.html', { 'q': q, 'answers': answers, 'form': AnswerForm(), }) else: form = AnswerForm(request.POST) if form.is_valid(): a = form.save() return HttpResponseRedirect(request.get_full_path())
def answer(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: answer = form.save() url = answer.get_url() return HttpResponseRedirect(url) else: form = AnswerForm()
def question(request, id): try: q = Question.objects.get(id=id) except Question.DoesNotExist: raise Http404 if request.method == 'POST': form = AnswerForm(request.POST) if form.is_valid: q = 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})
def answer(request, *args, **kwargs): 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() context = { 'form': form, } template = loader.get_template('qa/answer_form.html') return HttpResponse(template.render(context, request))
def get_question(request, slug): question = get_object_or_404(Question, pk=slug) if request.method == 'POST': form = AnswerForm(request.POST) if form.is_valid(): answer = form.save(author=request.user) url = answer.get_url() return HttpResponseRedirect(url) else: form = AnswerForm(initial={'question': question.id}) return render(request, 'question.html', { 'question': question, 'form': form })