본문 바로가기
Web/Django

[Django] 게시판 만들어보기 - Part 3 (수정하기 만들기)

by char_lie 2023. 3. 22.
반응형
반응형

Django를 이용하여 게시판을 만드는 과정을 따라가보자.

지난 CRUD의 R인 Read(읽기)를 만든 것에 이어 U인 Update(수정)을 구현해보자한다.

https://edder773.tistory.com/91

 

[Django] 게시판 만들어보기 - Part 2 (상세 페이지 페이지 만들기)

Django를 이용하여 게시판을 만드는 과정을 따라가보자. 지난 CRUD의 C인 Create(생성)를 만든 것에 이어 R인 Read(읽기)를 구현해보자 한다. https://edder773.tistory.com/90 [Django] 게시판 만들어보기 - Part 1 (

edder773.tistory.com

정확히는 R은 get등의 메서드로 받는 것을 의미하는 부분이라 정확히 표현하면 다르겠지만, 일단 Read라고 해놓고 썻으니 Read라 생각하고 진행하자(?)


이전과 동일한 과정으로 앱의 urls에 update를 해주기 위한 경로를 만들어주자.

여기서 주의해야 할 점은, read.html에 있는 내용을 바꿔줘야하는데 이 과정에서 우리는 pk를 variable routing을 통해 받았고, 각각에서 update를 해줘야 하므로 경로를 아래와 같이 설정해줘야한다.

urls.py에서 update의 경로를 지정해줬으면, views에서 update를 정의해주자. 이때 update는 create와 구조가 비슷한데, articles에 저장된 값만 바꿔주도록 설정해주면 된다.

또한 제출 후에 redirect 경로가 상세 페이지로 바로가서 확인 할 수 있도록 경로를 지정해주자.

여기까지 구현했으면, 이제 update.html을 작성해보자.

update는 create와 마찬가지로 사용자로부터 변경되는 값을 입력받고, 그걸 데이터 내부에서 변경해주는 과정을 거쳐야하니, create를 기반으로 비슷하게 작성하면 된다.

작성시에 url의 경로명에 뒤에 변수를 받을 수 있게 할당 변수 값을 추가해주었다. (없으면 할당 변수 페이지로 들어갈 수 없음)

여기까지 작성을 완료했으면, 이제 read파일 내부에서 update.html로 접근할 수 있도록 a 태그를 이용해서 링크를 추가해주자

여기까지 작성을 완료했으면, 서버를 동작시켜서 read 페이지를 확인해보자.

수정하기 버튼이 생긴것을 확인할 수 있고, 수정하기에 들어가서 제출해보자.

제출을 눌러보면 정상적으로 데이터가 수정된 것을 확인할 수 있다.

 

여기까지가 수정하기(update)를 구현하는 과정이고, 다음은 D(delete, 삭제)하는 것을 구현해볼 예정이다.

반응형

댓글