예제 #1
0
    def get(self, request, category, pk, mode):
        print(pk, mode)
        if mode == 'add':
            # pk값은 상관없음.
            form = forms.BoardForm()
            return render(request, 'myboard/edit.html', {'form': form})
        elif mode == 'list':
            # pk값 상관없음.
            username = request.session.get('username', '')
            user = User.objects.get(username=username)
            data = models.Board.objects.all().filter(author=user,
                                                     category=category)

            # page 개념
            page = request.GET.get('page', 1)
            p = Paginator(data, 3)
            subs = p.page(page)

            context = {
                'datas': subs,
                'username': username,
                'category': category
            }
            return render(request, apps.APP + '/pagelist.html', context)

        elif mode == 'detail':
            p = get_object_or_404(models.Board, pk=pk)
            # 조회수 증가
            p.cnt += 1
            p.save()
            return render(request, apps.APP + '/detail.html', {
                'd': p,
                'category': category
            })

        elif mode == 'edit':
            post = get_object_or_404(models.Board, pk=pk)
            form = forms.BoardForm(instance=post)

        elif mode == 'delete':
            post = get_object_or_404(models.Board, pk=pk)
            post.delete()
            return redirect(category + '/0/list')
        else:
            return HttpResponse('mode를 잘 입력하세용')
        return render(request, apps.APP + '/edit.html',
                      {"form": form})  # 정확하게 입력
예제 #2
0
파일: views.py 프로젝트: ssh6189/2020.02.21
    def post(self, request, category, pk, mode):

        username = request.session["username"]
        user = User.objects.get(username=username)

        if pk == 0:
            form = forms.BoardForm(request.POST)
        else:
            post = get_object_or_404(models.Board, pk=pk)
            form = forms.BoardForm(request.POST, instance=post)

        if form.is_valid():
            post = form.save(commit=False)
            if pk == 0:
                post.author = user
                post.category = category
            post.save()
            return redirect("myboard", category, 0, 'list')
        return render(request, apps.APP + "/edit.html", {"form": form})
예제 #3
0
파일: views.py 프로젝트: ssh6189/2020.02.21
    def get(self, request, category, pk, mode, page):
        if mode == 'add':
            form = forms.BoardForm()
        elif mode == 'list':
            username = request.session["username"]
            user = User.objects.get(username=username)
            data = models.Board.objects.all().filter(category=category)
            #print(reverse('myboard', args=('common', 0, 'list')))

            page = request.GET.get("page", 1)
            #(page-1)*3:page*3

            #첫번째 파라미터는 데이터, 두번째 파라미터는 한페이지에 보여줄 데이터의 개수
            p = Paginator(data, 3)

            #전체 데이터 중 일부 데이터만 subs에 저장, p.page(1)은 123만, p.page(2)는 456만 보여주는것을 확인할 수 있다.
            subs = p.page(page)

            context = {
                "datas": subs,
                "username": username,
                "category": category
            }

            return render(request, apps.APP + "/list2.html", context)

        elif mode == "detail":
            p = get_object_or_404(models.Board, pk=pk)
            p.cnt += 1
            p.save()
            return render(request, apps.APP + "/detail.html", {
                "d": p,
                "category": category
            })
        elif mode == "edit":
            post = get_object_or_404(models.Board, pk=pk)
            form = forms.BoardForm(instance=post)
        else:
            return HttpResponse("error page")

        return render(request, apps.APP + "/edit.html", {"form": form})
예제 #4
0
    def post(self, request, category, pk, mode):

        username = request.session["username"]
        user = User.objects.get(username=username)

        if pk == 0:
            form = forms.BoardForm(request.POST)
        else:
            # 바뀌기 전 데이터
            post = get_object_or_404(models.Board, pk=pk)
            # 바뀌기 전 데이터로부터 form을 생성
            form = forms.BoardForm(request.POST, instance=post)

        if form.is_valid():
            # 바뀐 데이터를 저장은 하지 말고 post에 갖고 오기
            post = form.save(commit=False)
            # add할 때 저자정보 넣고
            if pk == 0:
                post.author = user
                post.category = category
            post.save()
            return redirect("myboard", category, 0, 'list')
        # return render(request, "myboard/edit.html", {"form": form})
        return render(request, apps.APP + '/edit.html', {"form": form})