본문 바로가기
Web Programming/django

[Django] CRUD Operation(3)

by 테리는당근을좋아해 2020. 6. 20.

목표

- CRUD Operation에서 Delete

- 데이터베이스에 저장된 데이터 삭제하기

 

데이터베이스에 저장된 데이터를 삭제하는 방법을 구현해보자

 

 

delete 메소드 정의

def delete(request, post_id):
    # 삭제할 레코드의 id 값을 get_object_or_404 메소드의 파라미터로 전달
    get_object_or_404(Post, pk=post_id).delete()

    # redirect 메소드로 삭제 후에 되돌아갈 페이지를 지정
    return redirect('/')

1) delete 메소드의 인자로 삭제할 레코드에 id값을 전달받는다.

2) 전달받은 id값을 통해 get_object_or_404 메소드로 해당 객체를 받아오고, delete 메소드로 삭제한다.

3) 삭제한 후 되돌아갈 페이지를 redirect 메소드로 반환한다.

 

삭제버튼 추가

<a href="{% url 'delete' post.id %}">삭제</a>

detail.html에서 글을 수정하는 삭제하는 a 태그를 추가

 

urls 지정

path('delete/<int:post_id>/', blog.views.delete, name='delete'),

urls.py

 

 

삭제 버튼을 누르면 글은 삭제되고 redirect 메소드에서 지정해준 '/'으로 되돌아가는 것을 확인할 수 있음

 

'Web Programming > django' 카테고리의 다른 글

[Django] CRUD Operation(5)  (2) 2020.06.20
[Django] CRUD Operation(4)  (0) 2020.06.20
[Django] CRUD Operation(2)  (0) 2020.06.20
[Django] CRUD Operation(1)  (0) 2020.06.19
[Django] Model  (2) 2020.06.19

댓글