본문 바로가기

창업대전 공부

(8)
DRF : APIView / ViewSet / Router APIView APIView는 Class-base Views(CBV) 증 하나로 하나의 URL에 대해서만 처리를 할 수 있다. CVB로 작성 시 http 메소드에 해당하는 함수를 만들어 주어야 한다. 해당 함수 명은 지정되어 있으며, http 메소드 명과 동일하다. CVB에 대해 더 설명해 보자면 포스팅에 관한 URL을 예시로 설명을 할 수 있다. /post/ 에 대한 CBV get : 포스팅 목록 post : 새 포스팅 생성 /post// 에 대한 CBV get : pk 번호에 해당하는 포스팅 내용 put : pk 번호에 해당하는 포스팅 수정 delete : pk 번호에 해당하는 포스팅 삭제 각각의 요청 method에 맞게 함수를 새로 만들어 주어야 해당 method로 request가 들어오면 호출되게..
Django Rest Framework : Service Layer Service Layer 비즈니스 로직을 Service로 분리하고, 이런 비즈니스 로직들이 Class나 Function으로 이루어진 형태이다. 비즈니스 로직은 어떻게 데이터가 생성되고 저장되고 수정되는지를 정의한 것이라 할 수 있다. 이러한 비즈니스 로직을 View나 Model이 아닌 Service라는 곳으로 위치시킨걸 Service Layer라고 한다. Service Layer에 비즈니스 로직을 넣으면 생기는 이점 1. View, Model 등에서 비즈니스 로직을 분리해 각각의 위치에 맞는 역할을 할 수있게 한다. 2. 비즈니스 로직을 분리하는 거 자체에서 비즈니스를 좀 더 쉽게 이해할 수 있게 해준다. 3. 테스트 케이스 작성이 좀 더 용이해진다.
Django Rest Framework : Serializer Serializer serializer는 장고의 모델 데이터를 JSON 타입으로 바꿔주는 코드이다. 일반적으로 장고 모델 데이터를 템플릿에 뿌려주면 웹에 보이듯, JSON 타입으로 뿌려주면 api로 통신이 되는 것이며 내 데이터를 JSON 으로 바꿔주는 것이 serializer라 생각하면 된다. serializer 예시 출처 : https://devkor.tistory.com/entry/03-Django-Rest-Framework-Serializer-View-%EA%B0%9C%EB%85%90-%EC%9D%B5%ED%9E%88%EA%B8%B0 # test/models.py from django.db import models # 설명만을 위한 모델로, 상당히 대충 작성 되었습니다:) class Person(..
Django : 연결된 데이터 알아보기 Question 모델과 Answer 모델은 아래 사진처럼 서로 연결되어 있다. 그래서 만들어져 있는 Question 모델 데이터를 받아와서 Answer 모델 데이터를 만들면 된다. 서로 모델끼리 연결되어 있으므로 Answer 데이터에서 연결된 Question 데이터 조회도 가능하다. 다른 방식으로는 질문을 통해 답변을 찾을 수 있다. 처음에 q 에 넣어준 질문 데이터를 이용하여 연결된 답변 데이터 조회가 가능하다. 한개의 질문에는 여러개의 답변이 달릴 수 있지만 하나의 답변에는 하나의 질문만 연결되어 있기 때문에 a.question_set으로 조회하는 것은 불가능 하다. 모델끼리 서로 연결되어 있고, 하나의 모델 데이터의 여러개의 모델 데이터가 존재할 수 있으면 연결모델명_set 을 이용하여 조회가 가능..
Django : 모델 데이터 조회 모델 데이터를 조회 하는 방식 세가질르 알아보자. 우선 데이터 모두 조회하는 방법이 있다. 아래처럼 명령어를 치면 Question에 저장된 모든 데이터를 조회하게 된다. 다음으로는 조건으로 데이터를 조회하는 방법이다. 조건으로 데이터를 검색하기 위해서 filter 함수를 사용했다. 위 코드는 id=1인 데이터를 조회한 코드와 결과 이다. 아래처럼 다른 조건을 사용하여 검색 가능하다. subject 속성에 장고라는 문자열이 포함된 데이터를 검색하는 코드이다. 이 외에도 filter 함수의 사용 방법은 매우 다양하다. 다음으로는 하나만 조회하는 방법이다. get 함수를 사용하여 하나만 조회할 수 있다. 그런데 위에서 filter 함수와 결과가 같게 나오는것에 의문이 들수도 있는데 filter 함수는 여러건의..
REST API - 정보들이 주고받아지는 데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식 - 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청 자체로 추론이 가능한 특성을 가지고 있다. 학교를 예시로 DB에게 정보를 요청 할 때 주소에 classes가 붙으면 반들 목록이, 그 뒤에 2가 붙어서 classes/2면 2반을 그 뒤에 student를 붙이면 그 반 학생들 정보를 요청하게 되는 것이다. 이런 식으로 자원을 구조와 함께 나타내는 구문자를 URI라 한다 - REST API로 서버에 요청을 보낼 때 HTTP 규약에 따라 신호를 보낸다. 이때 여러 메소드가 있는데 REST API에서는 GET, POST, PUT, DELETE, PATH를 사용한다. GET은 데이터를 조회(Read)하는데 사용 / POST는 새..
API API(Application Programming Interface) 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법 ex) 식당의 경우 식당과 손님이 음식을 주고 받기 위해서 사용하는 메뉴판이 API API가 가져야할 내용 1.요청방식(method) : 데이터를 달라고 할 것인지, 보낼 것인지 / GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용 2.무슨 자료를 요청할 것인지 3.자료요청에 필요한 추가 정보 API 종류 public API : 누구나 사용 가능한 공개 API private API : 자체 제품과 서비스를 개선하기 위해 내부적으로 발행된 API 그래서 제 3자에게 노출되지 않는다. partner API : 기업이 ..
JSON HTTP(Hypertext Transfer Protocol) 클라이언트들이 어떻게 서버와 통신할 수 있는지를 정의한 것 클라이언트와 서버에게 데이터를 요정(request)하면 서버는 요청에 맞는 응답(respon)을 클라이언트에게 보내주는 방식 AJAX(Asynchronous JavaScript And XML) 웹 페이지에서 서버에게 동적으로 데이터를 주고받을 수 있는 기술 대표적인 기술로는 XHR(XMLHttpRequest)이라는 오브젝트가 있다. 이 오브젝트를 이용하면 간단하게 서버에게 데이터를 요청하고 받아올 수 있다. 또는 fetch() API를 이용하는 방법도 있다. JSON(JavaScript Object Notation) 데이터를 주고받을 때 쓸 수 있는 가장 간단한 파일 포멧 텍스트를 기반..