Project

오늘은 장고 REST Framework에서 swagger를 통해 API를 문서화 해보자. 먼저 drf-ysag에 대한 문서는 아래의 링크를 통해 이동할 수 있다. 상세한 정보를 원한다면 공식 문서를 활용하자. https://drf-yasg.readthedocs.io/en/stable/ drf-yasg — drf-yasg 1.21.7 documentation © Copyright 2018, Cristi V. Revision db42d356. drf-yasg.readthedocs.io install 가상환경을 활성화 하고 install 하자. pip install -U drf-yasg settings.py settings.py에 다음이 추가되어야 한다. INSTALLED_APPS = [ ... 'django..
오늘은 django에서 .env파일로 환경변수를 관리하는 방법에 대해서 알아본다. 장고에서는 django-environ 라이브러리를 통해 손쉽게 환경변수의 관리가 중요하다. env파일에 환경변수들을 저장해두고 로드하여 사용하는것이다 .env 생성 프로젝트의 루트에 .env 파일을 먼저 생성해준다. 생성 후에는 꼭 gitignore파일에 .env를 추가하여 깃허브에 올라가지 않도록 한다. install django-environ 다음을 터미널에 입력하여 django-environ을 설치한다. pip install django-environ .env 작성 환경변수로 지정해야 하는값들을 env에 정의한다. 다음과 같이 작성해야 한다. SECRET_KEY='django-insecure-...' DEBUG=Tru..
· Project/HT
오늘은 python에서 국가 정보를 사용할 수 있도록 도와주는 pycountry library에 대해서 알아보도록 하자. 나는 프로젝트 진행을 위한 전처리 과정에 국가정보가 필요해서 사용하게 되었다. 라이브러리에 fuzzy search 코드가 있어서 매우매우 행복하다..! Install 라이선스는 LGPL-2.1 license이다. https://pypi.org/project/pycountry/ pycountry ISO country, subdivision, language, currency and script definitions and their translations pypi.org Repository 가장 정확한 정보는 레포지토리와 document를 참고하는것이다 :) https://github...
Generic view의 경우 CRUD작업을 위한 공통 부분을 제공하는 뷰임을 이전 포스팅에서 알아보았다. 제네릭 뷰는 여러개의 Mixin클래스를 결합하여 사용하게 된다. 오늘은 제네릭뷰와 함꼐 쓰이는 믹스인 클래스에 대해서 알아보도록 하자. Mixin 소개 믹스인을 사용하지 않는다면, Genericview를 사용할때 모든 기능을 직접 구현해야 한다. 하지만 사실상 CRUD작업과 목록출력같은 작업은 수많은 뷰에 공통적으로 들어가는 작업일 것이다. 이 기능들을 Mixin을 통해서 간단하게 제공받을 수 있다. mixins는 rest_framework.mixins 모듈에 있다. ListModelMixin .list(request, *args, **kwargs)메서드를 제공하여 쿼리셋의 목록을 표시한다. 쿼리셋..
오늘은 DRF의 Generic API VIew에 대해서 알아본다. Generic API View 이 클래스는 기존에 사용하던 APIView를 확장하도록 하는 클래스다. CRUD에서 공통으로 사용되는 부분을 제공한다. mixins를 사용해서 CRUD의 특정 세부 메소드를 제공하고, 오버라이딩을 통해 직접 커스터마이징 할 수 있다. [mixins 포스팅] https://he-kate1130.tistory.com/63 [Team 22] DRF - Mixins Generic view의 경우 CRUD작업을 위한 공통 부분을 제공하는 뷰임을 이전 포스팅에서 알아보았다. 제네릭 뷰는 여러개의 Mixin클래스를 결합하여 사용하게 된다. 오늘은 제네릭뷰와 함꼐 쓰이는 믹스 he-kate1130.tistory.com Ba..
소셜 로그인 기능을 추후에 쉽게 추가하기 위해서 dj-rest-auth를 사용해 회원가입, 로그인 기능을 구현해보도록 하자. 사실 원래는 simple jwt를 활용해서 토큰을 발급하고 쿠키에 저장해두는 방식으로 구현하려고 했는데, 이것저것 찾아보니 소셜 로그인 구현 시에 정신건강에 상당히 위협적인 스케일로 일이 커질 수 있다는 슬픈소식에... dj-rest-auth를 함께 사용하도록 한다. https://dj-rest-auth.readthedocs.io/en/latest/index.html Welcome to dj-rest-auth’s documentation! — dj-rest-auth 5.0.1 documentation Note dj-rest-auth version 1.0.0 now uses Djan..
오늘은 DRF의 view set에 대해서 알아본다. 이미 알고있듯이 View는 API엔드포인트에서 수행되는 동작들을 정의하는 곳이다. 따라서 특정 엔드포인트에 대한 요청을 받아 처리하고, 응답을 생성해 반환한다. 뷰를 작성하는데에는 세가지의 방식이 있고, 이는 각각 함수기반 뷰, 클래스 기반 뷰로 나뉜다. #함수 기반 뷰 from django.http import HttpResponse def my_view(request): return HttpResponse("Hello, World!") # 클래스 기반 뷰 from django.views import View from django.http import HttpResponse class MyView(View): def get(self, request):..
DRF에서는 이전에 사용하지 않던 시리얼라이저를 사용하게 된다. 오늘은 시리얼라이저의 소개,사용방법에 대하여 간단히 알아본다. 시리얼라이저 소개 시리얼라이저는 DRF에서 사용하는 핵심 구성요소다. django의 데이터를 JSON형식으로 변환하는 역할을 한다. 이 과정을 serialization이라고 한다. 반대로 JSON형식의 데이터를 Python 데이터 유형으로 변환하는 역직렬화를 가능하게 한다. 시리얼라이저를 통해서 JSON데이터의 유효성 검사, 필드 유형 변환과 같은 다양한 작업을 정의한다. 시리얼라이저 사용 시리얼라이저는 rest_framework의 serializers.ModelSerializer를 import 하여 사용한다. ModelSerializer 클래스는 모델과 시리얼라이저 간의 필드를..
mingyung
'Project' 카테고리의 글 목록