본문 바로가기

Til

Til 장고 심화 과제

스파르타마켓을 DRF로 업그레이드

Django Rest Framework

 

DRF는 장고 어플리케이션에 RESTful API를 쉽게 구축할 수 잇게 해주는 강력한도구

 

-환경설정및 기본구성

DRF패키지 설치 및 설정을 프로젝트에 추가

setting.py에 DRF관련 설정을 포함시킴

 

-Serializer 정의 

데이터 모델 (user, post 등) json 형식으로 쉽게 직렬화 및 역직렬화할수있도록 시리얼라이저  클래서 정의

 

-ViewSets 및 Routers사용

각 데이터 모델에 대해 ViewSet 을 생성하여 CRUD연산처리

Router를 사용하여 URL라우팅을 자동으로 처리하고 엔드포인트를 구성

 

-인증및 권한 설정

DRF의 인증 및 권한시스템을 사용하여 API 접근을 관리, 토큰기반 인증을 포함하여 구현

 

-테스트및 문서화

DRF의 내장 지원을 사용하여 API에 대한 단위테스트를 작성

DRF의 자동 문서화 도구를 사용하여 API문서를 생성

 

-프론트엔드 통합

Postman을 사용하여 API기능을 테스트 및 검증

 

(Postman은 API 개발을 위한 도구 - 개발자가 API를 쉽게 만들고 , 테스트 하고 , 문서화할수 있게 도와줌. API요청을 구성하고 이를 서버로 보내 응답을 받아볼수 있으며. 다양한 HTTP 메서드 (GET, POST, DELETE,PUT등) 와 함께 사용됨

==>> 포스트맨 은 API개발의 효율성을 높이고 API의 테스트 및 디버깅과정을 간소화 하기 때문에 많은 개발자에게 필수 도구로 여겨짐)

 

 

회원가입 - POST

로그인 - POST

프로필 조회 - GET

로그아웃 - POST

본인정보 수정 - PUT 

패스워드 변경 - PUT

회원탈퇴 - DELETE

------

상품등록 CREATE - POST

상품목록조회 READ - GET

상품수정 UPDATE - PUT

상품삭제 DELETE - DELETE

 

 

 

 

 
 
============
과제 시작
 
깃허브 새로운 리포지터리
깃 이그노어 추가
 

새터미널~~
 python -m venv venv
source venv/Scripts/activate
pip install django==4.2
django-admin startproject spartamarket_DRF  <-프로젝트 폴더 생성

cd spartamarket_DRF
python manage.py startapp accounts <-기능별 앱 생성 
python manage.py startapp products 
 
pip install djangorestframework

 

cd ..
pip freeze > requirments.txt

 

 

<drf 설정추가>

 

settings.py 

인스톨드 앱

#third-party
    'rest_framework',
    #local
    'accounts'
    'products'

 

 

>>강의처럼 crud부터~~

 

프로덕츠 모델정의

 

from django.db import models

# Create your models here.
class Product(models.Model):
    name = models.CharField(max_length=120)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

 

프로덕츠 에 

serializer.py추가

urls.py추가

 

python manage.py makemigrations 

python manage.py migrate 빼먹지 말기