【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
相关推荐
悠哉悠哉愿意1 分钟前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码1 小时前
嵌入式学习路线
学习
毛小茛3 小时前
计算机系统概论——校验码
学习
babe小鑫3 小时前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
海兰3 小时前
离线合同结构化提取与检索:LangExtract + 本地DeepSeek + Elasticsearch 9.x
大数据·elasticsearch·django
winfreedoms4 小时前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 小时前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 小时前
2026.2.25监控学习
学习
im_AMBER4 小时前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 小时前
从“Hello World“ 开始 C++
c语言·c++·学习