Django 和 FastAPI 的结合体, Django-ninja の初体验

2,724 阅读1分钟

1、为什么是django-ninja

  • django-rest-framework不香吗?
  • 直接FastAPI不香吗? 看看Ninja官网作者是怎么说的?
    就我而言,看重的有几点:
  • 能直接使用Djangoorm,这点是FastAPI不具备的,别跟我说什么sqlalchemy, peewee,tortoise,都没框架自带的香。
  • Ninja能自动生成文档,这点是django-rest-framework不具备的,虽然可以额外安装drf-yasg实现,但又要另外手写一遍文档,太麻烦了!文档很重要,也都讨厌别人的代码没有文档。更加讨厌的是自己写文档!现在框架又能解决了这个问题,只能说再次真香!
  • Pydantic出入和出参Schema,这个FastAPI本身也支持,django-rest-framework就一言难尽了,各种序列和和反序列化,写多了真的难受啊!
  • 注解路由,这个是现在的趋势了,FastAPI本身支持,Javaspringboot也类似。 什么?PythonAPI框架你居然不提Flask? 我有代码目录统一强迫症,很难接受Flask一千个人一千种目录的自由派

2、django-ninja跑起来

demo详细代码已经上传到GitHub点这里

api-文档首页

api-创建一个对象

api-获取对象详情

api-获取列表