코딩/🟢 DJANGO
-
[Django REST framework] 튜토리얼 3 : 클래스 기반 View코딩/🟢 DJANGO 2022. 2. 26. 01:00
Class-based View 클래스 기반 보기를 사용하여 API 보기를 작성할 수 있다. 보시다시피 이것은 일반적인 기능을 재사용하고 코드를 DRY 하게 유지하는 데 도움이 되는 강력한 패턴이다. 여기서 DRY 란 Don't repeat yourself 로 반복하지 않는 코드패턴을 말한다. 클래스기반 View로 다시 작성해보자. 함수형을 클래스기반 뷰로 재작성. from snippets.models import Snippet from snippets.serializers import SnippetSerializer from django.http import Http404 from rest_framework.views import APIView from rest_framework.response impo..
-
[Django REST framework] 튜토리얼 2 : 요청 및 응답코딩/🟢 DJANGO 2022. 2. 26. 00:14
우리는 REST 프레임워크의 핵심을 다루기 시작할 것입니다. 몇 가지 필수 구성 요소를 소개하겠습니다. Request objects 요청 객체 REST 프레임 워크에서 Request는 regular를 확장하는 객체를 도입하고 HttpResponse보다 유연한 요청 구문 parsing(분석)을 제공한다. Request객체 의 핵심 기능 request.data은 와 request.POST 유사하지만 Web API 작업에 더 유용한 속성입니다. request.POST # Only handles form data. Only works for 'POST' method. ⬇️ """ Handles arbitrary data. Works for 'POST', 'PUT' and 'PATCH' methods. """ r..
-
[Django REST framework] 튜토리얼 1 : Serializer코딩/🟢 DJANGO 2022. 2. 25. 17:32
DRF 란? Django REST framework 의 줄임말. Django 안에서 Restful API 서버를 쉽게 구축할 수 있는 라이브러리 (REST란 HTTP url과 HTTP method(CRUD)를 사용해서 API 가독성을 높인 구조화된 시스템아키텍쳐 (= 프레임워크) 이때 REST는 3가지 구성. 1. 자원 2. 행위 3. 표현 1. 자원 (HTTP URL) : 서버에 존재하는 고유한 ID를 가진 자원서버 2. 행위 (HTTP method) : 클라이언트가 자원을 조작하기 위해 사용하는 방식 - GET, POST, PUT, PATCH, DELETE 3. 표현 (Representation) : 클라이언트가 서버로 요청을 보낸뒤 서버가 응답할때 보내주는 자원의 형식 - JSON, XML 등 이러..
-
[DJANGO] ORM : Aggregation, Annotate코딩/🟢 DJANGO 2021. 11. 10. 20:34
Aggregation : 집합 Annotate : 주석을 달다. 기업협업 프로젝트 기간 Django ORM을 통해 데이터 베이스에서 일차원적으로 나타난 데이터를 가져오는 것이 아니라, 데이터를 가공해서 원하는 값을 찾아야하는 챌린지가 발생했다. 🚨 물론 쿼리로 직접 처리하는 것이 데이터 효율면에서 뛰어날지 모르나, 쿼리에 대한 이해와 함께 장고 ORM에서 데이터를 어떻게 처리하는지 중요하다. 우선 테이블을 살펴보자. User id bigint email varchar(300) appname char(10) register_datatime datetime social_type varchar(32) country varchar(32) phonenum varchar(30) - 앱별 가입자 수 - 월별 가입자 ..
-
[DJANGO] 카카오 소셜로그인 구현코딩/🟢 DJANGO 2021. 10. 3. 18:34
여태까지 배웠던 로그인과 회원가입 기능은 자신의 서버에 직접 회원정보와 암호화된 비밀번호를 로컬 데이터 베이스에 저장하는 거였다면, 소셜 로그인은 어떤 방식으로 회원가입이 이뤄지고 로그인이 이뤄지는 것일까? 수많은 소셜 로그인 중 3700만 회원을 가진 카카오 소셜 로그인에 대해서 알아보도록 하자. 1. 공식문서 읽어보기 Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 공식문서를 천천히 살펴보면 OAuth2.0 개념이 나온다. OAuth 2.0 이 무엇일까? 공식문서를 확인해보자 OAuth 2.0 정리하면, 공개 API(Open API)로 제공되..
-
[DJANGO] 인증과 인가(4) : Login decorator코딩/🟢 DJANGO 2021. 9. 25. 22:24
로그인 데코레이터 HTTP 통신의 성질 중 상태를 저장하지 않는다는 stateless 라는 성질때문에 로그인한 회원인지 아닌지를 판단할 수 없다. 이때, @데코레이터를 이용해서 사용자가 회원인지 비회원인지 판단해서 로그인한 사용자만 컨텐츠를 이용할 수 있도록 할 수 있다. @데코레이터 데코레이터를 이용해서 기능이 수행될때마다 회원과 비회원의 판단을 할 수 있도록 하자. 함수를 Wrapping 하는 기법으로 반복되는 코드를 줄일 수 있다는 장점이 있다. ** Wrapping이란 ? 함수내부에서 함수를 선언하는 구조를 말함 test_function 이 실행되기 전에 먼저 login_required를 검사할 수 있도록 할 수 있다. 즉, login_required(test_function)이 실행된다는 것이다..
-
[LAFESTA] 수정사항들코딩/🟢 DJANGO 2021. 9. 13. 01:19
1. 수정전 for product in products: colors = product.colors.all() images = Image.objects.filter(product=product.id) A. product 와 image 의 참조관계 파악하신 후에 _set의 사용법을 확인할 것. Q. Image 객체에 접근하는 것보단 set을 이용해서 이미 불러온 product를 활용하는 것이 데이터 통신에서 효율적인가? A. 가독성을 높이고자 하는 이유와 추후 효율적인 데이터 통신을 위해 지금과 같은 방식으로 어떠한 쿼리를 호출하는지 파악하기 위한 이유 수정 후 for product in products: colors = product.colors.all() images = product.image_set..
-
[REST API] Path Prameter & Query Prameter코딩/🟢 DJANGO 2021. 9. 13. 00:26
REST API 란? API 또는 애플리케이션 프로그래밍 인터페이스는 애플리케이션이나 디바이스가 서로 간에 연결하여 통신할 수 있는 방법을 정의하는 규칙 세트 즉, API 시스템을 구현하기 위한 아키텍처(구조) 중에 가장 널리 사용되는 형식을 말한다. 가장 기본 레벨에서, API는 하나의 애플리케이션이나 서비스가 다른 애플리케이션이나 서비스 내의 리소스에 액세스할 수 있도록 해주는 메커니즘이다. 액세스를 수행하는 애플리케이션이나 서비스를 클라이언트라고 하며, 리소스가 포함된 애플리케이션이나 서비스를 서버라고 한다. REST API 형식 기준은? ✅ 페이지 기준이 아니라 기능 기준 ✅ 동사는 쓰지말고 명사로 쓰자 ✅ 검색을 하는 건 GET method! ✅ 여기서 주목해야하는 것은 '?' : 어떤 기준으로..