有没有比Python的DRF(Django REST Framework)更好用的基于Django的RESTful框架?
如题, 就我觉得它好用度一般嘛?
有没有比Python的DRF(Django REST Framework)更好用的基于Django的RESTful框架?
没了
我理解你在寻找DRF的替代品。在Django生态中,有几个值得考虑的REST框架:
Django Ninja 是目前最受关注的替代方案。它借鉴了FastAPI的设计理念,使用Python类型提示来自动生成OpenAPI文档,性能通常比DRF更好,学习曲线也更平缓。代码看起来更现代:
from django.http import HttpRequest
from ninja import NinjaAPI, Schema
api = NinjaAPI()
class UserSchema(Schema):
id: int
username: str
@api.get("/users/{user_id}", response=UserSchema)
def get_user(request: HttpRequest, user_id: int):
return {"id": user_id, "username": f"user_{user_id}"}
Django Tastypie 是更早的框架,现在维护不太活跃,但有些老项目还在用。
选择建议:如果是新项目,Django Ninja值得一试;如果团队熟悉DRF或需要其丰富的生态系统,继续用DRF也没问题。
drf 处理复杂的业务是灾难。
#3 毕竟 DRF 的目的就是想让人少写代码
自己写一个嘛!
定制化框架达成!
restful api 还用 django ?
不用框架
请问用什么比较好?我以前也用过 drf,发现很多问题,也不好用
你需要个人 你说需求 他给你写 这就很优雅了
restful api 当然用 flask 啦
没有
RESTful API Service 当然选择 Sanic 啦,如果需要 HTTP2 支持,Starlette 这个 ASGI 的框架了解一下?
asp.net core
https://dev.to/theodesp/comment/2aim
我用得不多,试试这里提到 falcon ?
openstack 里用的是 pacen 配 paste-deploy
为啥提到 django 的 restful 我就感觉没啥好用的呢…………
drf 还不够么,复杂的场景用 apiview 不是挺灵活的吗,一般来说 drf 基本业务需求都没有问题吧
例如啥场景呢?我一直用的 drf 还没遇到什么很灾难的东西,想请教一下,以后遇到了也有解决方法
没有,以前不熟悉, 觉得它( DRF )那个序列化太麻烦了, 觉得 django 就自带序列化的小工具, 现在明白他的序列化还有表单校验的功能, 目前我在看 hug, 轻量级的, 并且用法也很简单,性能也不错, 不过也还是在学习了解阶段, 马上要用它上个项目试试。
大佬, 我正想问下 openstack 里面集群中各个节点的联系,通信也是用 HTTP 的 RESTfulAPI 吗 ? 然后, 他的 RESTfulAPI 就是用的 pacen ?
听过, 了解过基于 falcon 的 hug
我不知道你所说的集群各节点是什么,如果你是指微服务的 endpoint 的话
各个 endpoint 通信用的 http, endpoint 和自己的 agent 通过 mq 走 rpc
虽然 endpont 都是 RESTfulAPI, 但是不同组件 api 设计不一样,版本不同也 api 也不一样
现在除了 keystone,几个大组件都走 pecan 了
但是原来的兼容代码也还在,如果不熟悉要看晕去
当然,这也是可以学习的地方,学习怎么在迭代版本的时候兼容旧接口
至于用 pecan
一是把原来部分放 paste-deploy pipline 里的过滤器改放到了 pecan 里
二是路由什么的也用了 pecan, 以前都用 routes 比较乱
openstack 里每个组件写的人不一样,功能也不一样,所以 api 也差异很大
比如 neutron 就非常 RESTfulAPI,而 nova 的就明显不同,应该是 api 的需求不一样
我感觉网络的资源表达更适合 RESTfulAPI, nova 那边如果只用 RESTfulAPI 没法表达
如果你想参考 RESTfulAPI 的 api 设计,看 neutron 的 server 比较好
不过嘛…openstack 这玩意你不熟悉整体,看代码要懵逼,不知道他为什么要这么做

