-
[Django] CRUD 로 블로그 구현하기 (DELETE)Python & Django 2021. 6. 1. 23:40
이제 CRUD 의 마지막인 삭제 기능을 구현해보겠습니다.
삭제 기능은 간단합니다. 기존의 객체를 id 로 불러와서 삭제한 후 목록 페이지인 home 으로 보내주면 됩니다.
1. 삭제 기능(delete)
뷰 만들기
def delete(request, id): delete_blog = Blog.objects.get(id= id) delete_blog.delete() return redirect('home')
views.py 에서 delete 함수를 만들고 id를 받아옵니다.
그리고 Blog 모델에서 받아온 id에 해당하는 객체를 꺼내서 delete_blog 변수에 담습니다. 다음 delete 메소드로 삭제한 후 목록 페이지를 열어주기 위해 'home' 으로 보냅니다.
url 만들기
urlpatterns = [ ... path('delete/<str:id>', delete, name="delete"), ]
삭제 기능도 특정 게시물을 가져와야 하기 때문에 path-converter 로 id 를 넣어줍니다.
템플릿에 삭제 버튼 만들기(detail.html)
detail.html 에 가서 views.py 와 연결하는 삭제 버튼을 만들어줍니다.
<body> <h1>제목: {{ blog.title }}</h1> <p>작성자: {{ blog.writer }}</p> <p>작성일자: {{ blog.pub_date }}</p> <hr> <p>{{ blog.body }}</p> <a href="{% url 'edit' blog.id %}">수정하기</a> <a href="{% url 'delete' blog.id %}">삭제하기</a> </body>
이 버튼은 delete 함수와 연결되며 해당 blog 객체의 id를 함께 전달합니다.
이제 서버를 실행해 테스트 해보겠습니다.
삭제 버튼을 누르면 게시글이 잘 삭제되고, 목록 페이지인 home.html 이 열립니다.
어드민에서 확인해봐도 기존의 게시글이 잘 삭제된 것을 확인할 수 있습니다.
이렇게 장고를 활용해 CRUD 를 구현하여 간단한 블로그를 만들어보았습니다!
'Python & Django' 카테고리의 다른 글
[Django] URL 관리하기 (0) 2021.06.02 [Django] Template 상속 (0) 2021.06.02 [Django] CRUD로 블로그 구현하기 (Update) (0) 2021.06.01 [Django] CRUD로 블로그 구현하기(CREATE) (0) 2021.06.01 [Django] get_object_or_404 로 404 페이지 만들기 (0) 2021.06.01