![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/2vfju/btr3fuc54Pe/FgKuKgkK3dcwuBL7ulD5kk/img.jpg)
자신이 만든 사이트에 등록된(회원가입한) 유저들은 로그인이라는 과정을 거쳐 자신이라는 걸 증명합니다. 그리고 로그인한 유저들은 매번 어떠한 특정 페이지에 이동하거나 개인적인 정보가 담긴(프로필) 프라이빗한 페이지 같은 곳에 이동할 때 자기자신이라는 인증과정을 거쳐야 합니다. 이러한 과정을 Authentication이라하며 세션, 토큰 등등 다양한 인증 방식이 있지만 필자는 JWT토큰이라는 방식과 Simple JWT, react-cookie모듈을 통해 인증방식을 구현해 보겠습니다 Simple JWT 문서 Simple JWT — Simple JWT 5.2.2.post14+g8258b5f documentation Simple JWT provides a JSON Web Token authentication ba..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zKl1M/btr2vVu3yaI/zcPN4jcd0T7tIJS2TJeki0/img.jpg)
Product를 가져오는 API를 만들고 DRF를 통해 구현하고 테스트해봤지만 CORS정책에 의해 데이터를 가져오기 위한 접근이 차단되었다는 에러문구를 마주했습니다. CORS정책이라는게 뭘까요?? CORS(Cross-Origin Resource Sharing) CORS는 말 그대로 자신의 Origin과 다른 Origin에 대한 요청(교차 출처)의 대해서 자원을 공유할 것이냐? 에 대한 물음과 같습니다. 한 가지 예시를 들자면 http://localhost:3000에서 http://localhost:3000 서버로 자원 요청을 하는 건 문제없지만 http://localhost:3000에서 http://localhost:8000으로 요청을 하는 건 교차 출처 HTTP요청으로 (★ 도메인, 프로토콜, 포트가 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/TB1ds/btrU3a8B6a0/fMBeqHbYIPl3bRNwiuCuu0/img.jpg)
검색 기능을 통해 사용자가 원하는 필드의 값으로 특정 모델객체를 찾을 수 있는 기능을 구현하려고 합니다. 그렇다면 Backend에서는 사용자가 입력한 값을 받아 값에 맞는 모델 객체를 찾아가는 과정이 필요합니다. class ProductAPI(APIView, LargeResultsSetPagination): def get(self, request): product = get_object_or_404(Product, price=request.GET["price"], id=request.GET["id"]) serializer = ProductSerializer(product) response = Response(serializer.data, status=status.HTTP_200_OK) return res..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/u6v5z/btrUHNZs3UW/btvPHn5BbkkdqFvGrkL8n0/img.jpg)
한꺼번에 특정 모델 객체의 데이터를 전부 가져오기보단 일정 데이터만 먼저 가져오고 사용자의 요청이 도착했을 때 다음 데이터를 가져오는 방식인 페이지네이션을 직접 구현하려면 어렵습니다. (★ 예시 ★ --> 네이버 증권 (S&P500 종합)) (사이트에 들어가서 스크롤을 내려보세요 👀) S&P 500 - 네이버 증권 관심종목의 실시간 주가를 가장 빠르게 확인하는 곳 m.stock.naver.com 하지만 DRF에서는 미리 만들어진 페이지네이션 API를 통해 쉽게 페이지네이션을 구현할 수 있습니다. 페이지네이션 from django.db import models # Create your models here. class Product(models.Model): name = models.CharField(ma..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d80MKI/btrTltO89M6/HbX7ApKBrC38PvbufUtNJK/img.jpg)
--> [Django] AbstractUser로 User모델 커스터마이징 해보기 [Django] AbstractUser로 User모델 커스터마이징 해보기 --> 호밀밭의 파수꾼 - Django가 기본적으로 제공하는 User모델 [Django] Django가 기본적으로 제공하는 User모델 이용자와 관리자가 없는 웹사이트는 무용지물에 가깝습니다. 그렇기 때문에 어느 웹사이 tcitr-antoliny.tistory.com 이전 포스팅에서는 AbstractUser를 통해 장고가 기본적으로 제공하는 User모델을 커스터마이징 해보았습니다. 하지만 저번 포스팅에서도 봤듯이 막상 User모델을 만들고 admin페이지를 통해 확인해보니 모델 메인 페이지는 User모델 객체의 username필드만 보이고 모델 객체 생..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cYxI1o/btrS6jr2h8o/GkQecyzx3lpkfgNer6S3v0/img.jpg)
--> 호밀밭의 파수꾼 - Django가 기본적으로 제공하는 User모델 [Django] Django가 기본적으로 제공하는 User모델 이용자와 관리자가 없는 웹사이트는 무용지물에 가깝습니다. 그렇기 때문에 어느 웹사이트를 만들던 User라는 모델은 필수 불가결한 존재입니다. Django에서는 User에 대한 기본적인 모델과 Authentic tcitr-antoliny.tistory.com 저번 포스팅에서 장고가 기본적으로 제공하는 User모델에 알아봤습니다. 이번에는 본격적으로 User모델을 AbstractUser를 통해 커스터마이징 하는 방법을 알아보겠습니다. 시작하기 전에 👀 저번 포스팅에서 User모델을 설명할 때 Django 프로젝트를 생성하고 처음 migrate를 하게 되면 DB에 Django..