장고

개발 일지 46 - 작성한 게시글 간단히 변경

sorecord 2024. 9. 29. 22:04

my_post라는 공간은 내가 작성한 글을 좀더 편리하게 정리하고 관리할 수 있는 공간이다. 

 

그렇기에, 직관적으로 좀 더 빠르고 간편하게 처리할 수 있는 기능이 필요할 것이라고 생각을 했다.

 

각 게시물 앞에 체크박스를 두고 선택된 게시물을 일괄 삭제하거나 카테고리명을 바꿀 수 있게 한다면 직접 수정 영역에 들어가서 일일히 수정하는 것보다 간편할 것 같다고 생각했다.

 

<input type="checkbox" name="selected_posts" value="{{ post.pk }}">

 

게시물이 조건문으로 나열이 되기 때문에 위의 코드를 추가해서 각 게시물 앞에 체크박스를 만들어주었다.

 

결국 삭제나 카테고리를 변경하기 위해서는 view에 접근을 해야 한다. 그러기 위해서는 form을 사용해줘야 하는데 원래 삭제하는 기능 한가지만 있는 함수에 값을 보내려고 했다. 간단히 말해, delete_my_post 라는 view함수를 만들고 category_change_my_post를 만드려고 했었다는 것이다. 

 

하지만 form값을 각각 다른 함수로 보내는 방법이 없기 때문에 한 함수 내에서 모든 조건을 해결해야겠다고 생각을 했다.

 

어떻게 할지 고민한 결과 버튼에 name을 붙이는 방법이 생각이 났다.

 

<button type="submit" name="action" value="delete">선택한 게시물 삭제</button>
<select name="new_category">
    <option value="카테고리1">카테고리1</option>
    .....
    <!-- 추가 카테고리 -->
</select>
<button type="submit" name="action" value="change_category">선택한 게시물 카테고리 변경</button>

 

이렇게 값을 view파일로 보내주었다.