앞서 view파일로 값을 보내주었으니 이제 값을 받아서 view파일에서 어떻게 처리하는지를 정리해보자
def manage_my_posts(request):
selected_posts = request.POST.getlist('selected_posts')
if request.POST.get('action') == 'delete':
if selected_posts:
Post_information.objects.filter(pk__in=selected_posts).delete()
elif request.POST.get('action') == 'change_category':
new_category = request.POST.get('new_category')
if selected_posts and new_category:
Post_information.objects.filter(pk__in=selected_posts).update(category=new_category)
return redirect('my_post')
selected_post에는 게시물 ID의 리스트로, 사용자가 체크한 게시물의 ID가 담긴다.
이후 request.post.get('action')을 통해 클릭된 버튼의 값을 가져와서 해당 버튼에 맞는 기능이 실행되는 것이다.
delete는 선택된 게시물의 값이 filter를 통해 걸러져서 삭제되는 것이고
change_category는 기존에 있던 카테고리 영역을 new_category의 값으로 변경을 해주는 것이다.
이렇게 값을 변경을 해준뒤에 redirect로 넘어가면 된다.
path('manage_my_posts/',views.manage_my_posts,name="manage_my_posts"),
마무리로 url.py에 위 코드를 추가해주면 문제없이 코드가 실행되는 것을 확인할 수 있다.
'장고' 카테고리의 다른 글
개발일지 49 - 게시글 꾸미기 ..2 (0) | 2024.10.02 |
---|---|
개발일지 48 - 게시글 꾸미기 (0) | 2024.10.01 |
개발 일지 46 - 작성한 게시글 간단히 변경 (0) | 2024.09.29 |
개발일지 45 - 작성 글 확인 + 버그 수정(프로필 이미지) (0) | 2024.09.28 |
개발일지 42 - 좋아요 버튼 이미지로 바꾸기..4 (0) | 2024.09.25 |