• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

todo_confirm_delete.html

20.08.14 15:11 작성 조회수 234

1

todo_list.html에서 remove 버튼을 눌렀을 때 delete 뷰가 호출되고 그러면 todo.id를 가진 인스턴스가 사라지고 todo_confirm_delete.html이 렌더링되는 걸로 생각을 했는데

todo_confirm_delete.html이 렌더링 된 후 거기서  버튼을 눌러야 데이터가 사라지는 건가요?

success_url이 성공 후url이니까 후자가 맞는거 같은데  동작순서가 헷갈립니다. reverse_lazy 때문에 성공여부가 늦게 되는건가요?

제 생각은 DeleteView에서는 template_name에 들어가는 html이 컨펌화면을 보여주는 거라고 생각하고 거기서 submit이 오면 succus_url이 렌더링 되는거같은데...헷갈려요..

답변 1

답변을 작성해보세요.

1

todo_confirm_delete.html이 렌더링 된 후 거기서  버튼을 눌러야 데이터가 사라지는 건가요? ==> 맞습니다.

reverse_lazy() 는 url 계산을 늦게(lazy) 하는 것으로, 렌더링과는 무관합니다.

DeleteView에서는 template_name에 들어가는 html이 컨펌화면을 보여주는 거라고 생각하고 거기서 submit이 오면,

==> todo.id 로 테이블에서 해당 레코드를 삭제하고, 그 후에 success_url 로 리다이렉트 됩니다.