This is a DEMO Project!
- Install Pkgs:
pip install django django-ninja
- Create Django Project:
django-admin startproject mysite
- Create a module "apps.core":
In Windows:
mkdir apps\core
python manage.py startapp core apps/core
Create a Ninja router:
apps/core/api.py
:
from typing import Optional
from django.http import HttpRequest
from ninja import Router, Schema
router = Router()
class UserPutSchema(Schema):
id: int
username: str
email: Optional[str] = None
@router.put("/users")
def user_update(request: HttpRequest, rdata: UserPutSchema):
data = {"code": 200}
return data
- Create mysite/api.py:
from typing import Optional
from django.http import HttpRequest
from ninja import NinjaAPI, Schema
from apps.core.api import router as core_router
api = NinjaAPI()
class UserPostSchema(Schema):
username: str
password: str
email: Optional[str] = None
@api.post("/users")
def user_create(request: HttpRequest, rdata: UserPostSchema):
data = {"code": 200}
return data
# class UserPutSchema(Schema):
# id: int
# username: str
# email: Optional[str] = None
# @api.put("/users")
# def user_update(request: HttpRequest, reqdata: UserPutSchema):
# data = {"code": 200}
# return data
api.add_router("", core_router)
- Start Project:
python manage.py runserver
- Visit API:
POST /api/users ---------- It's OK.
PUT /api/users ---------- But, it's error.