Swagger 프로젝트 내에 여러 API를 한번에 문서화하여 볼 수 있게하는 패키지이다. API 관리에 매우 용이하며, 앱에 적용하기 전에 테스팅을 할 수 있다. 장고에서 Swagger를 활용하여 Rest API Document를 생성하는 방법을 배우고 프로젝트에 적용시켰다. 라이브러리 장고에서 swagger를 사용하기 위해서 drf-yasg, djangorestframework를 설치해야 한다. drf-yasg는 장고로 정의 된 API를 문서화할 수 있는 패키지로 DRF - Yet Anoter Swagger Generator의 약자이다. 라이브러리를 설치해서 swagger 사용 환경을 세팅한다. pip install drf-yasg pip install djangorestframework 가상 환경에서..
서버를 배포하기 위해서 무료로 서버를 배포할 수 있는 클라우드 타입을 사용했다. https://help.cloudtype.io/guide 클라우드타입 이용가이드 클라우드타입을 처음 사용하시나요? 아래의 가이드를 따라 클라우드타입을 사용하세요! 그럼 시작해볼까요? 😃 help.cloudtype.io 1. 준비 단계 - django 버전 업그레이드 장고 버전이 3.2 미만이라면 3.2 이상으로 버전을 업그레이드 해주어야 한다. pip install --upgrade django==3.2 - 배포용 패키지 설치 pip install django-cors-headers gunicorn whitenoise django-environ gunicorn : 프로젝트가 서버 상에서 계속 구동되도록 도와주는 서버 엔진 관..
apscheduler 를 통해서 특정 날짜에 데이터 갱신하기 한 달에 한번씩 유저의 활동 정보를 기록하는 기능이 필요했다. 자동으로 원하는 일을 서버에서 시키는 기능인 apscheduler를 사용했다. django_apscheduler라는 모듈을 설정하면 쉽게 모든 기능을 사용할 수 있다. https://apscheduler.readthedocs.io/en/master/userguide.html#combining-multiple-triggers User guide — APScheduler documentation Context variables Schedulers provide certain context variables available to the tasks being run: The current..
DRF에서는 미리 생성 된 user 모델을 제공하는데, 토큰 인증 방식을 추가로 구현하기 위해서 custom user를 구현했다. DRF의 토큰 인증 방식 - 세션 인증과 토큰 인증 지원 - 세션 인증은 웹에 지원하고, 토큰 인증은 앱에 지원 - 기본 토큰 인증 방식은 랜덤 문자열 (유효기간 없음) - JWT 토큰 인증 방식은 유효기간이 있으며 Refresh 토큰을 사용한 재인증 지원 -> 단순한 랜덤 문자열을 사용하는 기본 토큰 인증 방식 대신에 JWT 방식을 많이 사용함 -> 어플리케이션 개발(IOS, Android 등 )은 JWT 토큰 방식을 주로 사용 JWT 토큰 인증 방식 - DB조회 없이 로직만으로 인증 - 헤더에 내용을 담아서 전송하며 발급 시간을 저장 - access 토큰의 유효기간이 지나..
안드로이드 앱과 연동하기 위한 RESTFul API 서버 구축하기 step 2 프로젝트를 생성했다면 Model을 구성하기 위해서 프로젝트 내부에 App을 생성해야 한다. (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth\Scripts>cd .. (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth>cd swallow_month (smonth) C:\Users\jinwo\desktopss\codingJM\djangoWork\smonth\swallow_month>python manage.py startapp dayData 프로젝트 폴더로 이동한 후 python manage.py startapp ..
안드로이드 앱과 연동하기 위한 RESTFul API 서버 구축하기 DRF로 앱 서버를 구축하기 위한 세팅을 기록한다. 우선 파이썬 가상 환경을 준비한다. [가상 환경] 파이썬 가상 환경은 파이썬 프로젝트 진행 시 독립된 환경을 만들어 주기 위한 도구이다. 여러 프로젝트를 개발할 때 각 프로젝트마다 다른 버전을 사용한다면 하나의 PC에 다른 버전의 장고 환경을 구축해야 하는 문제가 발생한다. 이를 해결하기 위해서 가상 환경을 사용한다. 우선 명령 프롬프트를 통해서 가상 환경을 설치할 폴더로 이동한다. Visual Studio Code 상단의 터미널 탭을 통해서 내가 원하는 폴더로 이동한다. C:\Users\jinwo\desktopss\codingJM\djangoWork djangoWork라는 폴더에 가상환..