Study/Django

[Django] Django 클래스형 뷰 ( Generic View- DeleteView) # 6

SoShin_ 2021. 12. 14. 16:00
반응형

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View- UpdateView) # 5

 

[Django] Django 클래스형 뷰 ( Generic View- UpdateView) # 5

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4 [Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4 2021.12.14 - [Study/Django] - [Django] Django 클..

programmers-sosin.tistory.com

이번 게시글에선 DeleteView에 대해 알아보겠습니다.

아래 코드는 DeleteView를 함수로 구현한 것입니다. 

def page_delete(request, page_id):
    page = Page.objects.get(id=page_id)
    if request.method == 'POST':
        page.delete()
        return redirect('page-list')
    else:
        return render(request, 'diary/page_confirm_delete.html', {'page': page})

제네릭 뷰로 DeleteView를 구현하는 방법은 이전 방법들과 크게 다른 게 없어 이전 방법들을 사용해보셨다면 아주 쉽게 사용할 수 있을 것입니다.

from django.views.generic import DeleteView

class PageDeleteView(DeleteView):
    model = Page
    template_name = 'diary/page_confirm_delete.html'
    pk_url_kwarg = 'page_id'
    context_object_name = 'page'

    def get_success_url(self):
        return reverse('page-list')
from django.views.generic import DeleteView

class PageDeleteView(DeleteView):
  model = <사용할 모델>

  template_name = <랜더링 할 Template>

  pk_url_kwarg = <데이터를 조회할 조건(key)>

  def get_success_url(self):

  	return reverse('<이동할 URL>')

 

반응형