본문 바로가기
개발/파이썬

전자상거래 웹사이트 만들기 4

by Engineer-Lee 2022. 5. 16.
반응형

이제 업로드 된 물품정보를 수정하는 페이지를 만들어보자

urls.py에서

path('item/<int:item_id>/edit', views.item_update, name='item-update'), 부분의 주석처리를 해제한다.

 

item_detail.html 파일에서 수정하기 버튼을 만들자

 

그리고 views.py에서 item_update 함수를 만들자

수정하기 위한 item id에 해당하는 데이터를 가져와서 forms.py에 있는 ItemForm 클래스의 instance에 넣어주면

수정하기 편하게 기존 정보들이 입력란에 띄어져서 사용자가 기존 정보들을 처음부터 다시 작성할 필요없다.

 

사용자가 수정을 마치고 post방식으로 데이터를 보내주면
form태그를 통해 입력된 데이터들이 유효성 검사를 마치고 데이터베이스에 저장된 후 세부정보 페이지로 redircet된다.

 

 

 

 

이번에는 업로드한 물품 삭제기능을 구현해보자

urls.py에서

path('item/<int:item_id>/delete', views.item_delete, name='item-delete'), 부분을 주석해제 처리한다.
 

item_detail.html에서 삭제하기 버튼을 추가한다.

 

이제 views.py에서 item_delete 함수를 작성한다.

post방식일때는 item의 detail페이지에서 item_id에 해당하는 데이터를 삭제한 후 물품 리스트를 보여주는 페이지로 redirect한다.

get방식일때는 post_confirm_delete.html로 render한다.

 

post_confirm_delete.html 파일을 작성해서 삭제하기 전에 정말로 물품 항목을 삭제할 건지 묻는 기능을 추가하자

이로서 CRUD 기능을 모두 구현했다.

 

 

이제 기본 url에서 item의 list를 보여주기 위해 urls.py에서

path('', views.index, name='index'), 부분을 주석해제 처리하고
views.py에서 index 함수를 작성해보자
item-list의 네임을 가진 url로 redirect 시켜주었다.
 

 

반응형