[Django]CRUD - Read

서희찬·2021년 4월 22일
0

Django

목록 보기
6/7
post-thumbnail

CRUD 란?

Create
Read
Update
Delete 이다.

무엇을!? CRUD 할까?
바로 데이터베이스이다.

Read 읽다!

views.py 에 함수를 등록해주고

home.html 을 작성해주고
urls 를 연결시켜주면

이런 식의 쿼리쉣이 뜨게된다.
쿼리쉣이랑 전달받은 객체의 목록이다!


이런식으로
블로그의 제목만 따올 수 있다.

그런데..
이러한 긴글은 한번에 뜨면 보기 불편하다!
그래서 우리는 models 에 summary라는 메소드를 추가해준다.

그 후 body 에 blog.summary 로 변경해준다.


그러고 나면 이렇게 간단~ 하게 볼수있게 글자를 잘라서 출력한다!!

이제 디테일한 페이지를 만들기 위해서

path - converter

를 알고가자 !
말그래도 패스 컨버터이당..
헿...
우리는 이제 각 블로그별로 detail page 를 만들어줘야하는데
일일이 하나만들고... 하나 하고 하나만들고..하나 연결해주고
이런 노가다를 방지해주는것이 패스컨버터이다!

어떻게 방지해줄까?
바로 id 를 받아서 아이디에 따라 블로그에서 정보를 가져와준다!

코드를보자.
우선 detail.html 을 tempaltes 폴더에 생성해준다.

그 후 views.py 에 함수를 등록해줘야하는데 home 이랑 다르게 id 값을 두번째 인자로 받는다.
그리고 get_object_or_404 를 장고로부터 가져와 사용하는데
만약 pk(primary key)의 id 값에 없는 것을 요청하면 404 에러가 뜨게 해주고 있다면 페이지를 제대로 출력해주어서 일석이조의 기능을 제공한다!
이렇게 id값을 받고 나머지는 같은 방식으로 반환해준다.

그리고 이제 urls.py 에 들어와 path 를 연결해줘야하는데 도메인 주소값을 "<str:id>" 로 설정함으로써 id에 따라 다른 주소를 할당해준다!

이제 detail.html 을 보자 !

이런 페이지를 가지는데 이 페잊를 가기위해서

이런 링크를 만들어준다!
url의 id마다 다른 링크를 주는 핵심이다!!

이렇게 해서 구동시키고 나면

이런 첫화면에 링크를 누르면

각 페이지별 블로그 글이 나오게된다!!!

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글