【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
相关推荐
易小染4 分钟前
AI-Agent学习-LangChain-01
学习·langchain
winfredzhang29 分钟前
Node.js + SQLite 实战:本地 Markdown 阅读书架源码深度解析
sqlite·node.js·safari·分页·多媒体·md文档
xian_wwq2 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
.千余3 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
ysu_03144 小时前
leetcode数据结构与算法1~4
c语言·数据结构·学习·算法·leetcode
暗夜猎手-大魔王4 小时前
hermes源码学习3-Agent Loop 内部机制
人工智能·学习
say_fall4 小时前
可编程中断控制器8259A工作方式超详细解析
android·开发语言·学习·硬件架构·硬件工程
我有2只猫5 小时前
LabelStudio二次开发
人工智能·python·django·ocr
吃好睡好便好5 小时前
说说食物依赖性运动诱发过敏
学习·生活
Amazing_Cacao6 小时前
深度专栏 | 粉碎感官玄学:精品可可的冷酷重构与物理变量
学习