V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
a523
V2EX  ›  Python

有没有比 drf(django restful Framework)更好用的基于 django 的 Restful 框架

  •  
  •   a523 · 2019-05-24 14:38:00 +08:00 · 4083 次点击
    这是一个创建于 1770 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题, 就我觉得它好用度一般嘛?

    22 条回复    2019-07-08 11:35:53 +08:00
    wenbinwu
        1
    wenbinwu  
       2019-05-24 14:41:47 +08:00
    没了
    WildCat
        2
    WildCat  
       2019-05-24 14:45:12 +08:00
    EugeneLiu
        3
    EugeneLiu  
       2019-05-24 14:45:51 +08:00   ❤️ 1
    drf 处理复杂的业务是灾难。
    yongzhong
        4
    yongzhong  
       2019-05-24 14:49:35 +08:00
    @EugeneLiu #3 毕竟 DRF 的目的就是想让人少写代码
    RHxW
        5
    RHxW  
       2019-05-24 17:01:47 +08:00
    自己写一个嘛!
    定制化框架达成!
    loading
        6
    loading  
       2019-05-24 17:27:25 +08:00 via Android
    restful api 还用 django ?
    LokiSharp
        7
    LokiSharp  
       2019-05-24 17:43:58 +08:00 via iPhone
    不用框架
    awen233333
        8
    awen233333  
       2019-05-24 18:43:16 +08:00 via Android
    @loading 请问用什么比较好?我以前也用过 drf,发现很多问题,也不好用
    labulaka
        9
    labulaka  
       2019-05-24 19:20:29 +08:00 via Android
    你需要个人 你说需求 他给你写 这就很优雅了
    gstqc
        10
    gstqc  
       2019-05-24 19:22:56 +08:00 via Android
    restful api 当然用 flask 啦
    ospider
        11
    ospider  
       2019-05-24 21:13:25 +08:00
    没有
    rust
        12
    rust  
       2019-05-24 21:15:42 +08:00 via Android
    RESTful API Service 当然选择 Sanic 啦,如果需要 HTTP2 支持,Starlette 这个 ASGI 的框架了解一下?
    jc89898
        13
    jc89898  
       2019-05-24 21:33:58 +08:00
    asp.net core
    azuki
        14
    azuki  
       2019-05-24 22:45:15 +08:00
    https://dev.to/theodesp/comment/2aim
    我用得不多,试试这里提到 falcon ?
    lolizeppelin
        15
    lolizeppelin  
       2019-05-25 18:08:30 +08:00
    openstack 里用的是 pacen 配 paste-deploy
    itwhat
        16
    itwhat  
       2019-05-27 13:50:44 +08:00
    为啥提到 django 的 restful 我就感觉没啥好用的呢…………
    bnbdfg
        17
    bnbdfg  
       2019-06-04 15:27:35 +08:00
    drf 还不够么,复杂的场景用 apiview 不是挺灵活的吗,一般来说 drf 基本业务需求都没有问题吧
    bnbdfg
        18
    bnbdfg  
       2019-06-04 15:29:36 +08:00
    @EugeneLiu 例如啥场景呢?我一直用的 drf 还没遇到什么很灾难的东西,想请教一下,以后遇到了也有解决方法
    a523
        19
    a523  
    OP
       2019-07-07 16:36:39 +08:00
    @bnbdfg 没有,以前不熟悉, 觉得它( DRF )那个序列化太麻烦了, 觉得 django 就自带序列化的小工具, 现在明白他的序列化还有表单校验的功能, 目前我在看 hug, 轻量级的, 并且用法也很简单,性能也不错, 不过也还是在学习了解阶段, 马上要用它上个项目试试。
    a523
        20
    a523  
    OP
       2019-07-07 16:39:07 +08:00
    @lolizeppelin 大佬, 我正想问下 openstack 里面集群中各个节点的联系,通信也是用 HTTP 的 RESTfulAPI 吗 ? 然后, 他的 RESTfulAPI 就是用的 pacen ?
    a523
        21
    a523  
    OP
       2019-07-07 16:40:23 +08:00
    @azuki 听过, 了解过基于 falcon 的 hug
    lolizeppelin
        22
    lolizeppelin  
       2019-07-08 11:35:53 +08:00
    @a523
    我不知道你所说的集群各节点是什么,如果你是指微服务的 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 这玩意你不熟悉整体,看代码要懵逼,不知道他为什么要这么做
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3129 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:58 · PVG 20:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.