【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
相关推荐
斑布斑布2 分钟前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Chef_Chen43 分钟前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
云空1 小时前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
Re.不晚2 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
小码的头发丝、2 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
幼儿园老大*3 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
3 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
ctrey_3 小时前
2024-11-4 学习人工智能的Day21 openCV(3)
人工智能·opencv·学习
啦啦右一3 小时前
前端 | MYTED单篇TED词汇学习功能优化
前端·学习