우선 # SOP(=Same-origin Policy) = 동일 출처 정책 어떤 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식 같은 출처인 걸 어떻게 구분하는데? → Protocol, Host, Port가 같아야 같은 출처로 인정해줌 근데.. 어떻게 다 같은 출처야.. 요즘 다 밖에서 API 따서오고 다른 출처로부터 리소스 요청이 엄청 많은데? 그래서 CORS라는 정책이 생겼다 # CORS(= Cross-Origin Resource Sharing) = 교차 출처 리소스 공유 다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제 서버측에 다른 출처지만 접근해도 됩니다~ 라는 걸 알려줘야한다 CORS는 백엔드 서버..
1. 프로젝트 파일에 .env파일을 만들어준다 # .env API_KEY ='내 키' 2. settings.py에서 추가해준다 # 여기에 내 PC 파일안에 저장된 API_KEY 변수를 가져옴 import environ import os env = environ.Env( # set casting, default value DEBUG=(bool, False) ) environ.Env.read_env(os.path.join(BASE_DIR, '.env')) DEBUG = env('DEBUG') API_KEY = env('API_KEY') 참고 : https://django-environ.readthedocs.io/en/latest/quickstart.html Quick Start - django-environ..
# OpenAPI Specification(OAS) RESTful API를 설명하고 시각화하는 표준화된 방법 → API에 대한 세부사항을 기술할 수 있는 공식 표준 # drf-spectacular 라이브러리 DRF를 위한OAS를 도와주는 라이브러리 https://drf-spectacular.readthedocs.io/en/latest/readme.html#installation 를 통해 설치해준다 $ pip install drf-spectacular # settings.py INSTALLED_APPS = [ # 추가 'drf_spectacular', ] # 추가 REST_FRAMEWORK = { # YOUR SETTINGS 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.open..
이번엔 게시판에 댓글다는 기능으로 DRF를 N:1 관계에서 어떻게 쓰는지 확인해보자 0. Serialize를 위해 SerializerModel만들어주기 # articles/serializers.py from .models import Article, Comment class CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment fields = '__all__' 1. GET - 모든 댓글 조회 (1) urls.py에서 url부터 추가해주기 # articles/views.py urlpatterns = [ ... path('comments/', views.comment_list),# 추가 ] (2) view 함수 작성 # art..
DRF를 우선 하나의 모델에서 해보자 이때, html파일은 작성하지 않음 → 결과를 확인하기 위해 POSTMAN이라는 프로그램을 이용 더보기 https://www.postman.com/ Postman API Platform | Sign Up for Free Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. www.postman.com POSTMAN이란? - API를 구축하고 사용하기 위한 플랫폼 - API를 빠르게 만들 수 있는 여러 도구 및 기능..
# DRF = Django REST Framework Django에서 RESTful API서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 → API server를 구현할 수 있음 참고) Server의 종류(배포 기준) 웹 서버 정적인 컨텐츠(html, css, 이미지 등)를 제공하기 위한 서버 대표적으로 Nginx, Apache등이 있다 API 서버 클라이언트가 데이터를 요청하면, 해당 데이터를 제공하기 위한 서버 일반적으로 API 서버는 WAS 위에서 동작 WAS(Web Application Server) 동적인 컨텐츠를 제공하기 위한 서버(DB 서버, API 서버, 세션 관리, 보안 등을 모두 포함함) 이런 것들을 모두 합쳐서 하나의 애플리케이션 실행 환경을 제공하는 서버 더보기 Djang..