✿ 선댓글과 공감, 구독은 사랑입니다 히히히헤헤헿 ✿
이 글에선 강의에서 튜터님이 말씀하시는 django-ninja를 api로 사용하는 이유를
짧게 정리해보려고 한다!
Django-ninja
django ninja 를 선택한 이유는 요즘 FastAPI 가 핫하기 때문이다!!
FastAPI의 경우 -> Tortoise ORM과 Async View 등으로 동시성 환경에서 좀 더 효율적인 성능이 더 잘 나온다.
django-ninja는 Async ORM을 구현하지는 못했어도, Async View는 만들어준다.
따라서 Fast API처럼 개발할 수 있도록 도와준다.
Async View concurrency
실제 서버에서는 여러 유저가 동시에 서버에다가 요청을 하기 때문에 concurrency 환경에서 얼마만큼의 성능이 나오는 지가 중요하다.
django-ninja 페이지를 확인하면 (https://django-ninja.rest-framework.com/)
django-ninjark 굉장히 빠르다고 자랑한 것을 볼 수 있다!
따라서 이번에 강의를 통해 FastAPI같은 django-ninja 프로젝트를 만들어 경험해보려고 한다.
강의를 따라 djagno-ninja 튜토리얼을 진행해보자!
먼저 urls.py에 아래의 코드를 16번째 줄부터 덮어씌워준다.
from django.contrib import admin
from django.urls import path
from ninja import NinjaAPI
api = NinjaAPI()
@api.get("/add")
def add(request, a: int, b: int):
return {"result": a + b}
urlpatterns = [
path("admin/", admin.site.urls),
path("api/", api.urls),
]
자세한 코드 설명을 적기 위해 나는 아래와 같이 파이참에 주석으로 달아놓았다 😆
이 다음으로는 api/라는 경로로 요청을 해서 실제로 add라는 함수가 어떻게 되어있는지 확인해보자!
(여기서 swagger를 다뤄볼 예정)
터미널에 나와있는 server주소를 클릭한 후 주소 맨 끝에 /api/docs를 붙여 요청해도 되고,
localhost:8000/api/docs를 주소창에 작성해도 똑같은 화면이 뜬다.
GET줄 맨 끝에 아래방향 화살표를 누르면
아래와 같은 화면이 뜨게 되는데, 이걸 Swagger 또는 open API 라 부른다!
코드에서 봤듯이 내가 적은 함수는 단순한 더하기를 리턴하는 함수였다.
이를 우리는 swagger를 통해 확인해볼 수 있다.
먼저 Try it out이라는 버튼을 눌러 입력을 활성화시키고,
a와 b에 원하는 값을 넣은 후 Execute 버튼을 누르게 되면...!!!!!
위와 같이 값이 잘 나타나게 된다!
이렇게 Swagger를 만든 적이 없는데 만들어 진 이유는!
django-ninja가 view function의 parameter와 return값의 dictionary를 자동으로 감지한다.
이를 통해 Swagger문서를 자동으로 만들어준다!!
이제 대충 뭔가를 만들었으니 git이랑 연결해주려고 한다!
나는 타인이 인정하는 git master,,, 히히히힣 😎
git에 대해선 빠삭하지만, 그래도 한번더 정리하면서 개념정리 해봐야징~~
~ 여기서부턴 내가 자유롭게 끄적이는 것들 ~
먼저 git init을 진행해주고, .gitignore 파일 생성하기!
그리고는 add, commit까지 완료하기!
얘는 .gitignore에 대한 설명
본격적인 setting은 다음 글에서 계속....!
✿ 도움이 되셨다면 댓글과 공감, 구독 눌러주세요오오오옷 ✿