【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
相关推荐
Rust语言中文社区32 分钟前
【Rust日报】用 Rust 重写的 Turso 是一个更好的 SQLite 吗?
开发语言·数据库·后端·rust·sqlite
星辰徐哥35 分钟前
易语言数据库操作初步:内置Ado引擎与SQLite3快速上手
数据库·oracle·sqlite·易语言
守候秋林辉36 分钟前
JFinal+SQLite 解决Date类型与DATETIME类型转换异常
jvm·数据库·sqlite
L-影1 小时前
下篇:它到底是怎么操作的——AI中半监督学习的类型与作用,以及为什么它成了行业的“最优解”
人工智能·学习·机器学习·ai·半监督学习
xw-busy-code2 小时前
抽象语法书学习笔记
笔记·学习·ast·抽象语法树
小羊羔heihei2 小时前
Python编程实战:12道趣味算法题
笔记·python·学习·其他·算法·学习方法·交友
名字不相符3 小时前
2026年3月27日NSSCTF之[SWPU 2019]漂流记的马里奥
学习·ctf·萌新
果果燕3 小时前
SQLite3数据库查询学习笔记2
数据库·sqlite
小羊羔heihei3 小时前
Python列表操作全攻略
经验分享·笔记·python·学习·其他·交友