이전 시간은 리스트를 조회해보았다
똑같은 Read지만 이번엔 Detail하게 보는걸로 해보겠다
일단 상세화면을 만들어야 겠다
이전 HTML파일로 돌아가서 Detail하게 보기 위한 링크를 걸어주도록 한다
<td><a href="{% url 'detail' boardid=item.id %}">{{ item.title }}</a></td>
이렇게 하면 링크가 걸려있을 것이다. 그렇다고 바로 되진 않겠지 우린 하나하나 레고조립하듯이 만들어야 한다
・우선 url 'detail' 이라는 path가 생겼고
・그뒤에 새로운 녀석이 생겼다 boardid=item.id 이부분은 get방식인데 boardid라는 파라메타라고 보면 될 것 같다
나중에 다시 보여 주겠다 ㅠㅠ
HTML에서 링크를 달아줬으니 urls.py에서 path를 하나 만들자!
path('detail/<int:boardid>/', views.detail, name='detail'),
이번엔 다른애들과는 좀 다르게 생겼다
겁먹지 말자, 신병일 뿐이다
방금 HTML 코드에서 url 'detail' 부분이 path('detail/') 까지라고 보면되겠다
그뒤에 boardid가 <int:boardid> 가 된다고 보면 될거같다
자 이제 view.py에서 detail함수를 만들어 보자
<int:boardid> 로 받은 것을 이용한다. 무조건 변수는 똑같아야 한다
그리고 boardid로 이용해 board 테이블에서 데이터를 찾자 ★
다시 한번 말하지만, get_object_or_404() 는 찾는데이터가 없을 경우 404에러를 띄어준다
board = get_object_or_404(Board, pk=boardid)
그리고 session에 있는 id와 board를 작성한 id를 비교하기 위해 일단 변수 session에 담는다
session = request.session['memberid']
반환할 때 데이터를 HTML쪽으로 던져주기 위해 데이터를 담는다
board와, 지금 로그인한 session ID를 말이다
context = {
'board': board,
'session': session,
}
이부분은 혹시 에러가 날경우는 main쪽으로 돌려주기 위함이다
except KeyError:
return redirect('main')
자 이제 브라우저로 돌아와서 한번 실행 해보자!
【외로워도 슬퍼도】를 클릭 해볼까
정상적으로 데이터를 불러왔고, 박스에 데이터가 잘 담겨있다
이러면 성공이다 ㅎㅎ
다음시간에는 수정을 한번 만들어 보자 !
'Web Programming > Django' 카테고리의 다른 글
11강) Django 게시판 삭제기능 만들기! ( Delete ) (0) | 2021.01.18 |
---|---|
10강) Django 게시판 글 수정하기 ( Update ) (0) | 2021.01.18 |
8강) Django 게시판 조회하기 ( Read ) (0) | 2021.01.16 |
7강) Django 게시판 등록하기 ( Create ) (0) | 2021.01.15 |
6강) Django 로그인 해보기 (0) | 2021.01.15 |