python-django

python django REST API 개발 - 3편. django rest api update, delete

이수진의 블로그 2019. 7. 31. 06:47

안녕하세요.

파이썬 장고를 활용한 게시판 웹 개발 14편입니다.

지난 포스팅까지 진행하면서 django rest api의 read 부분을 공부해봤습니다.

rest api에는 CRUD가 있는데요. 현재 여기서 Read 부분만 한 것이죠?

그럼 django rest api에서 Update, Delete는 어떻게 할까요?

이번 포스팅은 update와 delete에 대해서 알아봅니다.

 

 

먼저 django rest api를 위해 만들었던 프로젝트에 들어갑니다.

여기에 보시면 UpdateAPIView와 DestroyAPIView를 상속했죠?

마찬가지로 rest_framework.generics 아래에 있습니다.

 

 

그리고 delete와 update에 해당되는 url도 추가해주셔야합니다.

detail때와 마찬가지로 (?P<no>\d+)를 통해 Primary key를 이용하여서 update와 delete가 가능하도록 합니다.

 

 

자! 그럼 실제로 url로 들어갑니다.

localhost:8088/todo_list/7/update 이렇게 들어가니까 위처럼 나오게 되죠?

PUT 버튼이 있습니다. 참고로 REST API에서 update는 PUT입니다.

Create는 PUSH이구요!

 

현재 실제 값은 위 사진과 같이 되어 있습니다.

업데이트를 시켜보죠

 

 

수정하는 글을 작성합니다.

 

 

그리고 실제로 수정이 된 것을 확인할 수 있습니다!

rest api의 update는 이렇게 만들 수 있습니다.

 

 

이제 삭제를 봐보죠

localhost:8088/todo_list/8/delete로 들어갑니다.

마찬가지로 DELETE 버튼이 있는데요

 

 

삭제를 누르게 되면 한번 더 확인을 합니다.

delete 버튼을 눌러줍니다.

 

 

실제 삭제가 된 것을 볼 수 있습니다.

이것을 파이썬 프로그램이나 Django에서 사용하려면 python requests를 이용하면 됩니다.

 

 

requests.put('http://localhost:8088/todo_list/7/update/', data = d)

이런식으로요!

d는 dictionary 데이터를 넣어주면 됩니다.

 

 

실제로 값이 바뀌는 것을 볼 수 있습니다.

django에 위와 같이 requests를 이용하면 기존에 db와 연동하는 것이 아닌, rest api와 연동하여 프로그램을 작성할 수 있습니다.

 

반응형
그리드형