【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
相关推荐
兵慌码乱6 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
呱呱复呱呱6 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
兵慌码乱7 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
通信小呆呆12 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick12 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee12 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e12 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨12 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq12 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息