示例#1
0
def question_modify(request, question_id):
    """
    pybo 질문수정
    """
    question = get_object_or_404(Question, pk=question_id)
    # 사용자 == 글쓴이 ??
    if request.user != question.author:
        messages.error(request, '수정권한이 없습니다')
        return redirect('pybo:detail', question_id=question.id)

    # 입력 form 요소 내용 POST 전송시 객체에 저장.
    if request.method == "POST":
        # 기본 값을 기반으로 전달받은 입력값들 덮어써서 QuestionForm 생성하라는 의미.
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            question = form.save(commit=False)
            question.author = request.user
            question.modify_date = timezone.now()  # 수정일시 현재 시간으로 저장
            question.save()
            return redirect('pybo:detail', question_id=question.id)

    # GET 전송시 기존 제목, 내용 그대로.
    else:
        # 기존 제목, 내용 그대로
        form = QuestionForm(instance=question)
    context = {'form': form}
    return render(request, 'pybo/question_form.html', context)
示例#2
0
def question_create(request):
    """
    pybo 질문 등록 & 저장
    """
    # URL = pybo/question/create
    # 동일한 URL 요청을 POST, GET 따라 다르게 처리
    # POST 방식일때 (저장하기 버튼) = 저장해줌
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            # 임시저장하고 (아직 submit, content만 있기 때문)
            question = form.save(commit=False)
            # author(글쓴이) = user()
            question.author = request.user
            # 작성 시간 필드 채워주고
            question.create_date = timezone.now()
            # 진짜 저장
            question.save()
            # pybo/index (= 목록 보여주는 페이지)로 redirect
            return redirect('pybo:index')

    # 따로 method없으면 GET 방식일때 = 입력창 보여줌.
    else:
        form = QuestionForm()
    context = {'form': form}
    return render(request, 'pybo/question_form.html', context)
示例#3
0
def question_create(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            question = form.save(commit=False)
            question.author = request.user
            question.create_date = timezone.now()
            question.save()
            return redirect('pybo:index')
    else:
        form = QuestionForm()
    context = {'form': form}
    return render(request, 'pybo/question_form.html', context)
示例#4
0
def question_modify(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    if request.user != question.author:
        messages.error(request, '수정권한이 없습니다.')
        return redirect('pybo:detail', question_id=question.id)

    if request.method == "POST":
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            question = form.save(commit=False)
            question.author = request.user
            question.modify_date = timezone.now()
            question.save()
            return redirect('pybo:detail', question_id=question.id)
    else:
        form = QuestionForm(instance=question)
    context = {'form': form}
    return render(request, 'pybo/question_form.html', context)