ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 를 구현하여 간단한 블로그를 만들어보았습니다!

     

Designed by Tistory.