Django C.R.U.D. 2

강민성·2021년 12월 13일
0

Django C.R.U.D.

목록 보기
2/2
post-thumbnail

Django Workflow


Client <> Urls <> Views <> Models <> Database
클라이언트(프론트엔드)가 요청(request)을 보냄
--> (urls.py에서) 장고가 urlconf를 통해 클라이언트의 HTTP요청(url 엔드포인트)이 어떤 데이터를 원하는 요청인지 분석
--> (views.py에서) 로직을 분석한 후 해당 로직으로 요청을 보내서, 요청한 엔드포인트에 맞는 로직 실행(뷰 호출)
--> (models.py에서) 모델의 클래스(데이터베이스와 통신할 클래스)를 기반으로 데이터베이스에서 원하는 데이터를 불러와서 요청을 처리하고, 요청에 맞는 HTTP 응답을 클라이언트에게 보냄

http로 통신
프론트엔드가 보내는 request메소드+주소(프로토콜+호스트+포트값+타겟)를 받아 처리
--> json 형태의 객체로 response 응답

C.R.U.D. 1


models.py에 클래스들 추가 --> ORM을 통해 데이터베이스에 데이터 추가
models.py: 뷰와 데이터베이스간의 관계를 정리한 것

C.R.U.D. 2


작성한 models.py의 클래스들을 기반으로 views.py 작성 --> urls.py 작성하여 view를 맵핑 --> 클라이언트로 장고 서버에 request 보내기(POST로 create/GET으로 read)

요즘은 body에 딕셔너리 형태의 json데이터(javascript 객체)를 가공해서 보내줌

아래 내용은 Django 프로젝트 세팅 3(앱 생성, 구성, 저장)의 앱 구성-앱 디렉토리/views.py 구성~httpie로 Request 보내기 부분 참고

앱 디렉토리/views.py 구성

프로젝트 디렉토리/urls.py에 맵핑

앱 디렉토리/urls.py 생성(없으면), 구성(맵핑)

변경사항 저장

httpie로 Request 보내기

profile
Back-end Junior Developer

0개의 댓글