Exemplo n.º 1
0
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,
        })
Exemplo n.º 2
0
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,
    })
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)