Django Form 삭제 구현!
2022. 1. 24. 17:18ㆍ강의 정리/Django Form
반응형
장고(Django)를 배우기 시작한 입문자이시거나, 또는 배우고 싶은 생각이 있으신 분은 위 출처의 강의를 적극 추천드립니다!!!
#instagram/views.py
@login_required
def post_delete(request, pk):
# get_object_or_404는 model을 첫번째 인자로 받고, 몇개의 키워드 인수를 get() 함수에 넘김
post = get_object_or_404(Post, pk=pk)
# 유저가 삭제 확인을 했을 때는
if request.method == 'POST':
post.delete()
messages.success(request, '성공적으로 삭제하였습니다.')
return redirect('instagram:post_list')
return render(request, 'instagram/post_confirm_delete.html', {
'post' : post,
})
- 장고에서 기본적으로 지원하는 삭제 기능은 User에게 삭제 확인을 받는다. 삭제 확인을 받으면 그 때 삭제를 진행합니다.
- User가 삭제 확인을 할 때에는 GET 요청
- User가 확인을 했을 때는 POST 요청
#instagram/urls.py
urlpatterns = [
path('<int:pk>/delete/', views.post_delete, name='post_delete'), # Post.DoesNotExist 오류
]
#instagram/post_detail.html
<a href="{% url 'instagram:post_delete' post.pk %}" class="btn btn-danger" >
삭제
</a>
#instagram/post_confirm_delete.html
{% extends "Instagram/layout.html"%}
{% block content %}
<form action="" method="post">
{% csrf_token %}
<div class="alert alert-danger">
정말 삭제하시겠습니까?
</div>
<a href="{{ post.get_absolute_url }}" class="btn btn-primary">
돌아가기
</a>
<input type="submit" value="삭제하겠습니다." class="btn btn-danger" />
</form>
{% endblock content %}
반응형
'강의 정리 > Django Form' 카테고리의 다른 글
Django 회원가입, 로그인 구현하기!!! (0) | 2022.01.25 |
---|---|
Django 빌트인 CBV를 통한 Form 처리 (0) | 2022.01.24 |
Django Messages Framework (0) | 2022.01.24 |
Django Form Validation (0) | 2022.01.19 |
Django ModelForm이란? (0) | 2022.01.19 |