Todo 앱 update/delete 만들기
오늘은 update와 delete 기능을 만들어보자.
update는 create와 크게 다른점이 없다.
1.createview 대신 updateview를 씀.
2. 이미 존재하는 객채를 수정하는것이므로, url에서 update/<int:pk>가 된다.
delete 는, 역시나 장고 제네릭 뷰의 deleteview를 사용할것이다.
작업순서는 view -> url -> template 순서이다.
#views.py
class TodoDeleteView(DeleteView):
model = TodoList
template_name = 'todo/todo_delete.html'
success_url = reverse_lazy('todo:index')
모델,템플릿 이름, 삭제후 연결될 페이지를 설정해주고,
#urls.py
path('delete/<int:pk>/', TodoDeleteView.as_view(), name='delete'),
url도 설정해준다.
#todo_delete.html
<div class="text-center">
<form action="" method="POST">
{{ form }}
{% csrf_token %}
<div class="field is-grouped is-grouped-centered">
<p class="control">
해당 투두리스트를 삭제 하시겠습니까?
</p>
</div>
<p class="control">
<input type="submit" class="btn btn-danger" value="삭제">
<a class="btn btn-secondary" href="{% url 'todo:index' %}">
취소
</a>
</p>
</form>
위와 같이 템플릿을 작성해주었는데, 어떤 글을 삭제하는지 알기쉽게 하기위에서 삭제를 누를때 디테일뷰의 내용을 가져오도록 했다.
이때, detailview 에서는 context를 설정해서 템플릿에 todo.image.url으로 입력해도 괜찮지만,deleteview에서는 따로 설정하지 않았기때문에 object.image.url 등으로 바꿔주어야 한다.
잘 작동한다!
이것으로 Todo앱은 우선 완성되었다.
디자인적인 측면에서 굉장히 보기 싫지만, 디자인은 홈페이지가 다 완성되고 나서 일괄적으로 처리할꺼니까 좀 미뤄놓도록 해야겠다.
Author And Source
이 문제에 관하여(Todo 앱 update/delete 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@polaris0027/Todo-앱-updatedelete-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)