Django-Ninja
官方文档
Django-Ninja:https://django-ninja.dev/
项目初始化
创建虚拟环境
python3 -m venv venv
激活虚拟环境
Windows:venv/Script/activate
Mac/Linux:source venv/bin/activate

安装 Django-ninja
在安装 Django-ninja 的时候,其实还会安装 Django
pip3 install django-ninja

创建 ninja 应用
使用<font style="color:rgb(54, 70, 78);background-color:rgb(245, 245, 245);">django-admin startproject [应用名]</font>创建应用
这里创建了一个名为<font style="color:rgb(54, 70, 78);background-color:rgb(245, 245, 245);">ninja_server</font>的应用

打开项目
使用 PyCharm 打开创建的项目,即直接打开ninja_server即可,然后解释器记得选择创建的虚拟环境下的解释器

Hello World
在/ninja_server 下的 urls.py 后面添加
1 | """ |
然后启动项目
- 命令行启动
python3 manage.py runserver
1 | (venv) ➜ ninja_server |
之后在浏览器输入http://127.0.0.1:8000/api/hello

- 直接启动
查看文档
直接通过http://127.0.0.1:8000/api/docs可以查看官方文档

路由、视图、常用请求
在 Django-ninja 中的路由配置,与 fastapi 类似
在项目目录下面创建一个 router.py
1 | # -*- coding:utf-8 -*- |
视图的第一个参数,必须是request: HttpRequest
然后修改 urls.py
1 | """ |

常见请求参数
包括路径参数、查询参数、请求体
1 | # -*- coding:utf-8 -*- |

模型序列化
1 | # -*- coding:utf-8 -*- |
写好代码之后
执行一下
python manage.py makemigrations
和
python manage.py migrate
1 | (venv) ➜ ninja_server python manage.py makemigrations |
JWT 认证
先安装一下 jwt 依赖
pip3 install python-jose
1 | def generate_token(username: str, expires_delta=None): |
异常处理
写到 urls.py
1 |
|

更新: 2024-07-14 20:47:56
原文: https://www.yuque.com/zacharyblock/cx2om6/oukufzfyh2p6vb38