Django 5

docker - nginx/gunicorn

Nginx / Gunicorn 의 역할 python manage.py runserver 는 개발용 서버이기 때문에 디버깅이 찍히고 대량의 트래픽, static 파일들을 서빙하는데에는 문제가 있다. 따라서 배포를 할때는 runserver 대신 nginx 서버와 연동이 필요하다. nginx 와 django 연결을 가능케 하는게 gunicorn(웹서버게이트웨이인터페이스) 이다. gunicorn 연결하기 1) 배포용 docker-compose 만들기 docker-compose.prod.yaml 파일 생성 2) gunicorn 설치 pip install gunicorn 3) freeze pip freeze > requirements.txt 4) docker-compose.prod.yaml 작성 command: g..

DRF 를 이용한 JWT 사용하기

인증의 종류 1. 세션 인증 다시 살펴보기. 기본적으로 브라우저에서 사용자가 **인증(Authentication)**을 수행하면 서버에서는 사용자의 정보를 저장하고, 그 응답으로 JSESSIONID 라는 키를 이용해 클라이언트(사용자) 브라우저의 쿠키에 세션의 정보를 저장하게 됩니다. 이후 클라이언트는 브라우저 쿠키에 저장된 JSESSIONID 로 저장된 세션 정보를 이용해 **인가(Authrization)**된 정보에 접근할 수 있게 됩니다. 2. 토큰 인증 방식 알아보기. 토큰인증 방식은 사용자가 인증을 수행하면 서버에서는 토큰을 생성한 뒤에 저장하지 않고(stateless) 토큰값을 사용자의 브라우저에게 응답합니다. 이 토큰 값을 사용자가 인가된 사용자만 사용할 수 있는 서비스를 요청할 때 함께 보..

DRF 특강 | 1일차

환경 : Python (with venv) / VS code / Postman DRF : Django Rest Framework 기존 django 에서 확장된 기능들을 이용 ex) Serializer 프로젝트 준비하기 1. venv 설치 python -m venv venv : venv 생성 .\venv\Scripts\activate : 가상환경접속 deactivate : 가상환경에서 나오기 2. requirements 활용 pip list pip freeze requirements.txt 받을때는 pip install -r requirements.txt 3. DRF 준비하기 pip install django pip install djangorestframework settings.py - INSTALLE..

03. 2주차 이론 - Django APP / SQLite3 / ORM / model 추가 / admin

프로젝트 구조 만들기 1. 1주차 프로젝트파일 이어서 진행 2. 앞서 필요한 기능을 먼저 생각한다. 사용자 관리 (회원가입/로그인/로그아웃) : user 글쓰기 : tweet 3. 기능 앱(폴더) 만들기 $ django-admin startapp user $ django-admin startapp tweet 입력해서 설치하고 나면 프로젝트에 user와 tweet 폴더 생성되어있다. ** 위에 코드 입력해도 실행안될때 django의 버전확인과 인스톨 할수있는 명령어 python -m django --version python -m pip install Django ** 가상환경 위치가 아닐때 Set-ExecutionPolicy # 실행정책 Set-ExecutionPolicy RemoteSigned ./ve..

01. 1주차 이론 - 파이썬 기초 문법 / Django 알아보기

웹의 동작 순서 및 개념 클라이언트 : '요청을 보내는 곳' 주로 '나', '내 컴퓨터' 혹은 '크롬'을 클라이언트라고 한다. 서버 : '요청을 받아서 응답 해 주는 곳' 우리가 인터넷에서 웹페이지, 로그인등의 행동을 하고 난 후에 이루어지는 많은 과정들을 처리 해준다. API : 데이터를 어떻게 주고 받자! 라고 정한 약속 1. 페이지를 받는 경우 : HTML, CSS, Javascript가 섞여있는 페이지를 받는 경우 2. 데이터만 받는 경우 : 페이지나 화면은 크게 필요없고, 데이터만 받고싶은 경우 Pycharm - Python Interpreter : 내가 적은 파이썬 언어를 컴퓨터가 이해할 수 있도록 번역시켜준다.(파이썬 번역기) - Virtual environment (venv) : 각 프로젝..