일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- react
- 알고리즘
- Python
- PWA
- 리액트
- unionfind
- 싸피셜
- js
- 플로이드워셜
- git
- sqld
- 머신러닝종류
- SSAFYcial
- TypeScript
- vitepwa
- 싸피10기
- 백준
- queryset
- pwa적용하기
- 싸피
- 14658
- SQL
- Javascript
- VITE
- SSAFY
- QuerySetAPI
- Django
- db
- 셀프넘버
- 데코레이터
- Today
- Total
목록BackEnd/Django (44)
Meme's IT
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ea8nQE/btsAjPh0k2l/r3NRZyDTlCgF0BPGOPJJ01/img.png)
우선 # 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/N86Ap/btsyHHgxzET/8DC4s56kKkkIFUi0z49Rok/img.png)
# 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cFCgwT/btsyLKXg1G7/8jTLf347AW3VUJPXtB0yXK/img.png)
이번엔 게시판에 댓글다는 기능으로 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bDhNww/btsyES9GjOW/OcxUqalFF42J8jzRC4yIak/img.png)
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..
자원의 행위(HTTP Request Methods) 대표적인 HTTP Request Mehods GET: 조회(Read) 서버에 리소스의 표현을 요청 GET을 사용하는 요청은 데이터만 검색해야 함 POST: 생성(Create) 데이터를 지정된 리소스에 제출 서버의 상태를 변경 PUT: 수정(Update) 요청한 주소의 리소스를 수정 DELETE: 삭제 지정된 리소스를 삭제 자윈의 표현 지금까지는 사용자에게 페이지(html)만 응답하고 있었다 → render함수의 역할 근데 이렇게 하면 뭔가 일이 일어나면 계속 새로고침이 됨(좋아요 누를 때마다 페이지가 새로고침 됨) 그래서, 이제는 JSON데이터를 응답하는 REST API로 변환 → 프론트엔드 → 클라이언트 즉, django는 이제 백엔드의 영역만 다룰 것
# URI란? = 통합 자원 식별자 인터넷에서 리소스(자원)를 식별하는 문자열 # URL = 통합 자원 위치 URI의 한 종류 웹에서 주어진 리소스의 주소 네트워크 상에 리소스가 어디 있는지 알려주기 위한 약속 URL의 구조 Schema(Protocol) 브라우저가 리소스를 요청하는 데 사용하는 규약 기본적으로는 HTTP(S)를 쓰고 이외에도 mailto:, ftp:등 다른 프로토콜도 있음 Domain Name 요청 중인 웹 서버를 나타냄 직접 IP주소를 사용해야하지만 사용의 어려움때문에 Domain name으로 씀 예를 들어, google.com == 143.251.42.142 Port 웹 서버의 리소스에 접근하는데 사용되는 기술적인 문(Gate) Http : 80 Https : 443 표준포트는 생략..