def home(request): """ 提问页逻辑实现 author:陈思齐 :param request: :return: home页逻辑实现 author:徐毅 :param request: :return: """ context = {} answer_list = Answer.objects.all() # profile_list =UserProfile.objects.all() # for answer in answer_list: # print (answer.author.avatar) errors = '' if request.method == 'GET': form = QuestionForm if request.method == 'POST': form = QuestionForm(request.POST) # print (form.is_valid()) if form.is_valid(): title = form.cleaned_data['title'] desc = form.cleaned_data['desc'] topic = form.cleaned_data['topic'] try: f_userprofile = UserProfile.objects.get(belong_to = request.user) except: raise ValidationError(u'UserProfile的用户资料没有找到!') f_topic = Topic(name = topic) f_topic.save() f_question = Question(title = title,desc = desc,author = f_userprofile) f_question.save() # if request.POST["referer"]: # return redirect(request.POST["referer"]) # else: # return redirect(to='home') # print (f_question.id) return redirect(to='detail',question_id=f_question.id) if "HTTP_REFERER" in request.META: context["referer"] = request.META["HTTP_REFERER"] else: context["referer"] = "" context['form'] = form context['errors'] = errors context["answer_list"] = answer_list # context["profile_list"] = profile_list return render(request, "home.html", context)
def question_new(request, mentor_pk): if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.mentee = Profile.objects.get(user__username=str(request.user)) question.mentor = get_object_or_404(Profile, pk=mentor_pk) question.save() messages.info(request, "새 질문 등록") return redirect('blog:mentor_detail', mentor_pk) else: form = QuestionForm() return render(request, 'blog/question_form.html', {'form': form})
def question_edit(request, group_pk, question_pk): question = get_object_or_404(Question, pk=question_pk) if question.author == request.user: if request.method == 'POST': form = QuestionForm(request.POST, instance=question) if form.is_valid(): form.save() return redirect('blog:question_detail', group_pk, question_pk) else: form = QuestionForm(instance=question) return render(request, 'blog/form.html', { 'form': form, }) else: content = '해당 질문의 작성자가 아닙니다.' return render(request, 'blog/error.html', { 'content': content, })
def question_new(request, group_pk): group = get_object_or_404(Group, pk=group_pk) if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.author = request.user question.group = group question.save() return redirect('blog:group_detail', group_pk) else: guide = "New Question" form = QuestionForm() return render(request, 'blog/form.html', { 'guide': guide, 'form': form, })
def question_edit(request, pk): user = Profile.objects.get(user=request.user) question = Question.objects.get(pk=pk) if question.mentee != user: messages.warning(request, "작성자가 아닙니다.") return redirect("blog:question_detail", pk) else: if user.is_mentor: messages.warning(request, "권한이 없습니다") return redirect("blog:question_detail", pk) else: if request.method == "POST": form = QuestionForm(request.POST, instance=question) if form.is_valid(): form.save() messages.success(request, "질문이 수정되었습니다") return redirect("blog:question_detail", pk) else: form = QuestionForm(instance=question) return render(request, 'blog/question_form.html', {'form': form})
def askQuestion(request): #creating a set of forms for multiple images ImageFormSet = modelformset_factory(Images, form=ImageForm, extra=6) #if request is POST, validate and save both the forms if request.method == 'POST': questionForm = QuestionForm(request.POST) formset = ImageFormSet(request.POST, request.FILES, queryset=Images.objects.none()) if questionForm.is_valid() and formset.is_valid(): new_question = Post() new_question.title = questionForm.cleaned_data['title'] new_question.content = questionForm.cleaned_data['content'] new_question.topic = questionForm.cleaned_data['topic'] new_question.author = request.user new_question.isQuestion = True new_question.save() for form in formset.cleaned_data: if form: image = form['image'] photo = Images(post=new_post, image=image) photo.save() messages.success(request, "Posted!") return HttpResponseRedirect("/questions/form/") else: print(questionForm.errors, formset.errors) # if request is GET, display empty forms else: questionForm = QuestionForm() formset = ImageFormSet(queryset=Images.objects.none()) context = {'postForm': questionForm, 'formset': formset, 'Q_Form': True} return render(request, 'blog/post_form.html', context)
def question_edit(request, group_pk, question_pk): question = get_object_or_404(Question, pk=question_pk) if question.author == request.user: if request.method == 'POST': form = QuestionForm(request.POST, instance=question) if form.is_valid(): form.save() return redirect('blog:question_detail', group_pk, question_pk) else: form = QuestionForm(instance=question) return render(request, 'blog/form.html', { 'form': form, }) else: content = '해당 질문의 작성자가 아닙니다.' return render(request, 'blog/error.html', { 'content': content, })
def question_new(request, group_pk): group = get_object_or_404(Group, pk=group_pk) if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.author = request.user question.group = group question.save() return redirect('blog:group_detail', group_pk) else: guide = "New Question" form = QuestionForm() return render(request, 'blog/form.html', { 'guide': guide, 'form': form, })