django-ninja简介
Django Ninja是一个用于使用Django和**Python 3.6+**类型提示构建API的Web框架。
主要特点:
易用性:旨在易于使用和直观。
高性能执行:由于Pydantic和异步支持,具有非常高的性能。
编码效率高:类型提示和自动生成文档使您只需专注于业务逻辑。
基于标准:基于API的开放标准:OpenAPI(以前称为Swagger)和JSON Schema。
与Django友好:(显然)与Django核心和ORM良好集成。
开始helloworld
开始一个django项目
django-admin startproject apidemo
在urls.py文件中。
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),
]
使用manage.py运行
测试环境可以直接使用Django自带的web服务器运行。
python manage.py runserver
使用uvicorn运行
生产环境可以使用uvicorn运行支持异步的asgi服务器。
bash
uvicorn apidemo.asgi:application --host 127.0.0.1 --port 8000 --workers 4