itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CS
  • 독립서점
  • POSTECH
  • binding
  • AppleDevloperAcademy
  • CoreData
  • ios
  • SWIFT
  • 개발자
  • 생활코딩
  • SwiftUI
  • 연결리스트
  • mongodb
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • crud
  • 세그멘테이션
  • nosql
  • 어플
  • 점주
  • 킨디

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

CRUD - Read
Web/django & python

CRUD - Read

2021. 5. 19. 20:35

먼저 CRUD 의 의미를 다시 생각해보자.

C : Create , 데이터 생성

R : Read , 생성한 데이터를 페이지에 나타내어 우리가 읽는 것

U : Update , 데이터 수정

D : Delete , 데이터 삭제

 

이번 시간에는 Read 를 구현해보자.

한 마디로 정리하자면 우리가 생성한 데이터베이스를 우리가 볼 수 있게 html 페이지에 구현하는 것이다.

 

자 일단 우리가 생성한 두 가지 데이터베이스가 밑의 사진처럼 존재한다.

이를 어떻게 home.html 페이지에 띄울까?

데이터베이스를 home.html 페이지에 띄우는 '기능'을 구현하기 위해 views.py로 간다

 

각 코드가 의미하는 개념을 잘 느껴보자

 

views.py에서 blogs라는 이름으로 home.html에 던져줬으니 이를 구현해보자.

 

어떻게 나오는가? list 형태로 나온다. 안에 있는 항목들을 하나씩 꺼내줘서 나열해보자. 이를 하기 위해 for문을 쓴다.

for문에서 blogs라는 리스트에 속한 변수 blog에 대하여 하나씩 꺼내서 나열한다. 리스트의 항목이 끝날 때까지

 

아이 근데 너무 우리가 원하는 정보가 안나온다. 제목이나 구체적인 내용을 가져오자.

 

detail.html 페이지 생성

제목을 누르면 그 글의 자세한 내용을 볼 수 있는 detail 페이지를 만들어보자. 당연히 Templates 폴더에 detail.html 파일을 생성한다.

그 다음 views.py로 가서 함수를 만들자.

주석 처리된 설명을 잘 느끼자

 

detail 함수의 id값은 어디서 오는가?

urls.py에서 views.py로 보낸다.

<str:id> 를 써서 id값에 따라 띄우는 페이지의 url을 달리 해준다.

 

그리고 이 url의 id값은 어떻게 정해질까?

home.html에서 요청하는 id값에 따라 달라진다.

이렇게 home.html에서 id값의 url을 요청한다.

 

 

완성된 페이지

 

오늘 흐름을 정리해보자

데이터베이스를 Read 하기 위해서는 어떻게 해야 할까? 

일단 데이터베이스들은 models.py에서 담당하는 것들이다. 이거를 home.html로 가져오기 위해 views.py에서 함수를 짠다.

models.py에서 명명한 클래스명 Blog의 모든 objects를 가져온다는 함수를 짠다.

그리고 이것을 home.html에서 데이터베이스를 소환하기 위해 for문을 이용하여 리스트의 내용 하나씩 꺼낸다.

 

그리고 Detail.html을 짜야 하는데 ,detail 페이지는 각 게시글들의 세부 정보를 나타내는 페이지다.

그러면 각 항목에 대한 페이지의 정보가 뜨게 해야하는데 이를 일일히 만들어야 할까?

그게 아니고 id 와 pk 값을 이용한다. urls.py에서 id값에 대한 내용으로 views.py에 요청하고

id값을 가지고 와서 id값과 pk값이 일치하는 데이터를 detail.html 페이지에 던져줘서 띄운다.

'Web > django & python' 카테고리의 다른 글

Django - 클래스형 뷰 CBV (Class-Based View)  (0) 2021.07.09
API 활용  (0) 2021.05.25
Model 실습  (0) 2021.05.18
Django 3 : BLOG 만들기 (MVT, ORM, CRUD 등등)  (0) 2021.05.11
Django 2  (0) 2021.05.11
    'Web/django & python' 카테고리의 다른 글
    • Django - 클래스형 뷰 CBV (Class-Based View)
    • API 활용
    • Model 실습
    • Django 3 : BLOG 만들기 (MVT, ORM, CRUD 등등)
    itisjustK
    itisjustK

    티스토리툴바