게시글 수정
이 부분을 진행하려 한다.
일단 해당 템플릿이 있는지 확인하고
해당 modify가 있는 템플릿은 read.html이다
이 modify 부분을 찾고 해당 버튼을 클릭했을 alert가 뜨게끔 연결한다.
여기서는 btn-waring이라는 아이디를 가지고 있는 부분을 스크립트로 구현한다.
해당 부분의 class명을 통해 접근해야 되기 때문에 #으로 접근하고 해당 버튼을 클릭했을 때 alert 가 뜨게 한다.
Modify를 눌렀을 때 해당 alert이 정상적으로 뜨는 걸 볼 수있다.
이제 Modify를 하는 데 있어서 세부적인 로직을 짜 보자.
이 이벤트를 발생하는 데 있어서 과정은
1.url로 보내준다.
2.view로 보내준다.
3.view에서 해당 로직을 만들어준다.
4. 여기서는 modify라는 페이지로 보내준다.
이 modify 페이지로 보내는 데 있어서 해당 글에 대한 정보를 들고 가서 뿌려줘야 한다.
-
urls -> views -> template
templates에서 modifyForm이라는 url로 보낸다.
그다음 url에서 받는 부분을 구현하고 view로 넘긴다.
Bbs.objects.get을 통해 해당 user_id에 해당하는 객체를 가져온다.
이렇게 view 단을 구현한다. 여기서 보낸 id 값을 받고 이 아이디를 통해 모델에 접근해 게시판에 대한 객체를 받아온다.
이 받아온 객체를 context에 넣어 modify의 템플릿으로 보낸다.
그러면 해당 페이지로 이동된다.
값이 뜨는 것은 보내준 context를
이렇게 값을 넣어준다.
이제 아래 modify 버튼과 cancel 버튼을 구현하자.
이 부분에 form에 대한 id 값을 정의해주고
이렇게 해당 class 값의 버튼이 클릭되었을 때 form의 id 값을 submit 한다는 스크립트를 만든다.
url 부분을 구현하고
해당 view 부분을 구현한다.
여기서 우리가 받아온 id 값을 request로 받고 그 id 값을 통해 objects를 가져온다.
그다음 그 객체에 우리가 가져온 값을 넣고 save로 저장한다. 그 후 redirect를 통해 bbs_list로 이동하게 끔 만든다.
redirect는 render와 다르게 해당 url로 다시 보낸다. 이 말은 해당 urls.py에 있는 url로 이동을 시켜 해당 url의 있는 view를 타게 끔 만든다. render는 해당 템플릿을 지정을 통해 템플릿으로 바로 보내는 차이가 있다.
'Base > Django' 카테고리의 다른 글
[Django] #16 - Django csv 파일 사용하기 (0) | 2020.10.06 |
---|---|
[Django] #15 - Django 게시판 만들기(검색기능 구현)- 6 (0) | 2020.10.03 |
[Django] #13 - Django 게시판 만들기(게시글 보기) - 4 (0) | 2020.10.01 |
[Django] #12 - Django 게시판 만들기(게시판 등록 하기) - 3 (0) | 2020.10.01 |
[Django] #11 - Django 게시판 만들기(등록 버튼 구현) - 2 (0) | 2020.10.01 |