Django Ninja
搭建项目
pip3 install django-ninjadjango-admin startproject myprojectfrom ninja import NinjaAPI api = NinjaAPI() @api.get('/hello') def hello(request): return {'hello': 'world'}from django.contrib import admin from django.urls import path from .api import api urlpatterns = [ path('admin/', admin.site.urls), path('api/', api.urls), ]
路由器
多应用路由
路由器认证
路由器标签
路由器嵌套
请求数据
路径参数
路径参数转换器
使用Schema路径转换
请求参数
位置参数
可选参数
位置参数和可选参数综合使用
使用Schema定义
请求体
使用Schema
路径参数、查询参数和请求体
Form表单
Form数据作为参数
使用Schema
路径参数,请求参数和表单
将空表单值设置为默认值
文件上传
单个文件上传
多个文件上传
响应体Schema
返回体为简单对象
返回体为嵌套对象
返回文件对象或图片
返回状态码和数据
当返回状态码和数据一致时,可使用4xx
自我套用
Model的Schema
选择包含字段
选择不包含字段
覆盖字段(修改某些字段注释或者添加新字段)
其他,使用create_schema
使用model参数
认证
使用自带认证
使用自定义认证
操作参数
标签
路由器标签
操作:摘要
操作:说明
OpenAPI操作ID
操作:已弃用
输出响应选项
网址名称
版本控制
不同的API版本号
不同的业务逻辑
请求解析器
YAML解析器
ORJSON 解析器
响应渲染器
创建渲染器
ORJSON 渲染实例
XML渲染实例
错误处理
自定义异常处理
覆盖默认异常处理程序
默认初始化异常
覆盖默认处理程序
抛出异常的HTTP响应
CSRF
将API与基于cookie的身份验证一起使用是不安全!
异步支持
混合同步和异步操作
弹性搜索示例
使用ORM
使用装饰器,将同步转化为异步
不使用装饰器
不会理解执行
会立即执行
Last updated