【Django-ninja】django-ninja的hello world

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
相关推荐
向阳花开_miemie1 天前
Android音频学习(二十二)——音频接口
学习·音视频
胡萝卜3.01 天前
深入理解string底层:手写高效字符串类
开发语言·c++·学习·学习笔记·string类·string模拟实现
fanstering1 天前
腾讯混元P3-SAM: Native 3D Part Segmentation
笔记·学习·3d·点云
jackletter1 天前
待补充 五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)的列类型:目录
mysql·oracle·sqlserver·sqlite·pgsql·列类型
im_AMBER1 天前
数据结构 05 栈和队列
数据结构·笔记·学习
报错小能手1 天前
linux学习笔记(31)网络编程——TCP time_wait机制
linux·笔记·学习
Yupureki1 天前
从零开始的C++学习生活 7:vector的入门使用
c语言·c++·学习·visual studio
i学长的猫1 天前
Ruby小白学习路线
开发语言·学习·ruby
送秋三十五1 天前
Docker 构建教程:学习上下文、架构和性能优化技术
学习·docker·架构
思成不止于此1 天前
软考中级软件设计师备考指南(四):I/O 技术、安全与可靠性 —— 综合应用篇
网络·笔记·学习·信息安全·总线系统·i/o 技术·可靠性计算