목표
- 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 |
댓글