Chapter 14-5 Postman으로 JWT 토큰 발급 및 인증 요청 실습
·
Django
📮 Postman으로 JWT 토큰 발급 및 인증 요청 실습🎯 목표발급된 JWT 토큰을 Postman에서 직접 사용해 API 요청 테스트Access / Refresh 토큰 활용법과 인증 흐름 완전 이해🧪 Step 1: Postman 설치 및 기본 세팅Postman 설치 후 실행왼쪽 상단 New → Collection 클릭이름: JWT 테스트설명 및 구조를 컬렉션 단위로 관리하면 테스트 시 편리함🧾 Step 2: 토큰 발급 API 요청 구성✅ POST /api/token/URL: http://127.0.0.1:8000/api/token/Method: POSTBody: raw 선택 → JSON 형식 입력{ "username": "생성한유저", "password": "비밀번호"}주의: URL 마지막 ..
Chapter 14-4 Django에서 Simple-JWT로 토큰 발급하기 완전 정복
·
Django
🔐 Django에서 Simple-JWT로 토큰 발급하기 완전 정복🎯 목표Django REST Framework + SimpleJWT를 사용해 JWT 발급 API 구성하기직접 뷰 작성 없이 기본 제공 View로 빠르게 적용하기관리자 페이지에서 사용자 생성 → 토큰 발급까지 실습하기✅ SimpleJWT란?SimpleJWT는 Django REST Framework(DRF)에서 JWT(Json Web Token) 기반 인증을 쉽게 구현할 수 있는 라이브러리입니다.🪙 토큰 기반 인증: 세션 상태를 유지하지 않아 RESTful 설계에 적합🔐 Access + Refresh 토큰 방식: 보안성과 재사용성 강화🧱 인증 시스템을 빠르게 세팅할 수 있는 기본 View 제공⚙️ 1단계: 프로젝트 세팅Poetry 환경..
Chapter 14-3 PythonAnywhere를 사용한 Django 프로젝트 배포 가이드
·
Django
📌 PythonAnywhere를 사용한 Django 프로젝트 배포 가이드PythonAnywhere는 Django 애플리케이션을 손쉽게 배포할 수 있는 플랫폼입니다. 이 가이드는 로컬 개발 환경에서 PythonAnywhere로 배포하는 전체 흐름을 소개합니다.✅ 1. 로컬 개발 환경에서 프로젝트 정상 작동 확인python manage.py runserver⚙️ 2. settings.py 설정 점검ALLOWED_HOSTS 설정:ALLOWED_HOSTS = ['yourusername.pythonanywhere.com']DEBUG 설정:DEBUG = FalseSTATIC_ROOT 및 MEDIA_ROOT 설정:STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')MEDIA_..
Chapter 14-2 SimpleJWT 완전 정복 가이드
·
Django
🔐 SimpleJWT 완전 정복 가이드SimpleJWT는 Django REST Framework에서 JWT 기반 인증을 간단하게 구현할 수 있도록 도와주는 인증 패키지입니다. 세션 기반 인증이 아닌 토큰 기반 인증 방식으로, API 기반 애플리케이션 개발에 적합합니다.✅ 1. SimpleJWT의 주요 특징🪙 JWT 인증 방식: 서버 상태를 저장하지 않아 RESTful🔄 액세스 토큰 & 리프레시 토큰 분리: 짧은 인증 + 장기 갱신 전략🔧 커스터마이징 가능: 시리얼라이저, 뷰 클래스 모두 오버라이딩 가능🛠️ 2. 설치 및 기본 설정📦 설치pip install djangorestframework-simplejwt⚙️ settings.py 설정REST_FRAMEWORK = { 'DEFAULT_..
Chapter 14-1 drf-yasg 사용법 완전 정리
·
Django
📘 drf-yasg 사용법 완전 정리drf-yasg는 Django REST Framework에서 Swagger/OpenAPI 기반의 API 문서를 자동으로 생성해주는 강력한 도구입니다. 개발자와 클라이언트가 API를 더 쉽게 이해하고 테스트할 수 있도록 인터랙티브한 UI를 제공합니다.✅ 1. 주요 기능 정리🔄 자동 문서 생성: APIView 또는 ViewSet 코드로부터 자동으로 문서 생성🧪 실시간 테스트 지원: Swagger UI 및 Redoc UI로 API 직접 테스트🔄 버전 관리 가능: API 버전별로 문서를 관리🛠 사용자 정의 문서화: 커스터마이징된 설명, 파라미터, 응답 등 세부 조정 가능🛠️ 2. 설치 및 설정 방법📦 설치 명령어pip install drf-yasg🧩 기본 설정 ..
Chapter 12-1 Django TDD(Test-Driven Development)란?
·
Django
✅ TDD(Test-Driven Development)란?TDD는 테스트를 먼저 작성하고, 그 테스트를 통과하는 코드를 나중에 작성하는 개발 방법론입니다.🔁 핵심 사이클 (Red → Green → Refactor)Red: 실패하는 테스트 작성Green: 테스트 통과를 위한 최소 코드 작성Refactor: 중복 제거 및 코드 개선📌 TDD의 장
점과 단점✔️ 장점코드 품질 향상: 동작 보장이 명확버그 예방: 요구사항 기반 테스트안정된 리팩토링: 변경 후에도 테스트로 기능 확인 가능요구사항 명확화: 테스트를 작성하며 요구를 구체화❌ 단점초기 시간 소모: 테스트 작성 시간 필요복잡성 증가: 로직이 복잡할수록 테스트도 어려움테스트 과잉 위험: 비효율적인 테스트 증가 가능✅ setUp() 메서드를 포함한 예시..
Chapter 11-5 Django Mini Project - GitHub OAuth2 로그인 구현
·
Django
📌 Django Mini Project - GitHub OAuth2 로그인 구현🔥 목표GitHub의 OAuth2 인증 방식을 활용해 사용자가 자신의 GitHub 계정으로 로그인할 수 있도록 구현합니다.GitHub 개발자 설정에서 OAuth 앱 등록client_id와 client_secret을 이용한 인증 흐름 구현🧭 GitHub 앱 등록 절차🔗 GitHub OAuth App 등록하기New OAuth App 클릭다음 항목 입력Application nameHomepage URL: 예) http://localhost:8000Authorization callback URL: 예) http://localhost:8000/oauth/github/callback/앱 등록 후 Client ID와 Client S..
Chapter 11-4 Django에서 네이버 OAuth2 로그인 구현하기
·
Django
📌 Django에서 네이버 OAuth2 로그인 구현하기✅ 1. 네이버 애플리케이션 등록NAVER Developers 사이트에서 애플리케이션을 등록합니다.콜백 URL: /oauth/naver/callback/발급받은 클라이언트 ID 및 시크릿은 secret.json 파일에 보관네이버 로그인 -> 연락처 이메일주소 -> 서비스 URL : http://localhost:8000callback : http://localhost:8000/oauth/naver/callback/client ID 등록 { "DJANGO_SECRET_KEY": "django-insecure-@cggy0b%9ie&7g_15nnh+4la@0xx3q!%vxuda24bs0x1a%b0y$", "email": { "user":"jang..