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
HashV2
V2EX  ›  Python

Python 连接别人的数据库开发 restful 接口使用什么 web 框架合适啊?

  •  
  •   HashV2 · 2022-03-08 22:52:14 +08:00 · 4736 次点击
    这是一个创建于 1022 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目是一个 java 项目, 数据库是已有的
    现在要开放一些信息给微信小程序,写一些 restful 接口,主要做一些查询接口和少量的 post 接口
    认证他们不管,可以我通过微信认证后自己签发 token ,我只负责小程序相关接口

    想了解一下,用什么 python web 框架适合快速开发啊?

    真没搞过这种,之前做的项目大部分都是 django 一把梭

    28 条回复    2022-03-10 10:06:33 +08:00
    learningman
        1
    learningman  
       2022-03-08 22:54:06 +08:00 via Android
    快速开发默认 fastapi
    Hanggi
        2
    Hanggi  
       2022-03-08 22:57:28 +08:00   ❤️ 2
    目前来说 FastAPI > Flask > Django ,当然有熟悉的最优先。
    HashV2
        3
    HashV2  
    OP
       2022-03-08 23:01:27 +08:00
    @learningman 并发上 flask 是不是性能更好点?
    HashV2
        4
    HashV2  
    OP
       2022-03-08 23:04:47 +08:00
    @Hanggi
    django 虽然写的多,但是 drf 连别人数据库没搞过,而且感觉太笨重了,趁这个机会想学习个轻量的框架。
    之前用过 tornado ,感觉不好用

    请问大佬 FastApi 对比 Flask 有什么优势么
    darkengine
        5
    darkengine  
       2022-03-08 23:18:15 +08:00
    @HashV2 项目的预计日活是多少啊,这么快考虑并发的问题了?
    HashV2
        6
    HashV2  
    OP
       2022-03-08 23:20:54 +08:00
    @darkengine 哈哈哈 java 同事们总是觉得 python 性能不行 我就想着挑一个性能好一点的框架
    mimzy
        7
    mimzy  
       2022-03-08 23:43:30 +08:00
    FastAPI 的配套可能并不成熟,我的体会是自己需要考虑的事情比较多,不太便于借鉴已有的经验。FastAPI 快速确实挺快速的,可以用来学学新知识,但 Python 框架的性能不要太乐观就是了,当然性能又不总是第一位要考虑的。
    westoy
        8
    westoy  
       2022-03-08 23:50:50 +08:00
    随便吧, 你不拿 django 那套很重的 contrib 去跑, 这里面随便哪个单机撑不住了, 另两个也玄
    fox0001
        9
    fox0001  
       2022-03-08 23:51:40 +08:00 via Android
    @HashV2 #6 Python 的性能不是框架可以搞定。不过一般 Python 介绍文档认为,用于 Web 开发时,Python 的性能不是问题…
    youngce
        10
    youngce  
       2022-03-09 00:04:58 +08:00   ❤️ 3
    drf 和 fastapi 都不错,如果你想把项目变成自己的铁饭碗,用 flask 也行
    Pichai
        11
    Pichai  
       2022-03-09 00:20:00 +08:00
    django-rest-framework
    HashV2
        12
    HashV2  
    OP
       2022-03-09 00:24:11 +08:00 via iPhone
    @mimzy 好的 多谢 又有理由躲在舒适圈开发了😂
    HashV2
        13
    HashV2  
    OP
       2022-03-09 00:25:08 +08:00 via iPhone
    @youngce 哈哈哈哈哈 这个角度是怎么想到的
    sirhousir
        14
    sirhousir  
       2022-03-09 00:26:20 +08:00 via iPhone   ❤️ 1
    gunicorn+flask
    LeeReamond
        15
    LeeReamond  
       2022-03-09 01:53:21 +08:00   ❤️ 2
    @youngce 笑了,老哥说的实在,各种轻量框架出来以后 flask 已经事实上消亡了。另外楼上说 python 框架性能不行的,现在异步框架开封即用的单节点 echo 能力就在 ne4/s 这个数量级,很难理解有多大的业务会无法 handle 。我司一个跑在 php7 上的混合业务占用率一直比对应的 py 组件高十几倍,虽然根本也没什么好比的,但无法理解说跑得慢是什么样的需求使然
    dayeye2006199
        16
    dayeye2006199  
       2022-03-09 03:42:41 +08:00
    什么数据库,要是 PG 的话考虑一下[Hasura]( https://hasura.io/)吗?
    locoz
        17
    locoz  
       2022-03-09 07:07:28 +08:00 via Android
    单纯写 API 用 FastAPI 又快又爽,为什么不呢?
    kaka6
        18
    kaka6  
       2022-03-09 07:23:08 +08:00
    gunicorn + flask + flask_restx

    简单优雅,性能的话
    不是大厂的服务应该可以
    wffnone
        19
    wffnone  
       2022-03-09 08:05:12 +08:00
    学别人开源软件,你把别人代码思想都理解了,再看类似的,都是大同小也没什么异。
    所以选择从什么开始学,都一样。最终你全要学。

    你要是,把自己当作用户。以为学习就是读教程,翻文档查用法。
    那你永远是局外人。这种知识也不能给你带来任何竞争力。
    abersheeran
        20
    abersheeran  
       2022-03-09 10:12:46 +08:00
    需要用到关系型数据库,那就 Django ,不二选择。

    其他就随便,喜欢哪个就用哪个。
    raptor
        21
    raptor  
       2022-03-09 10:15:10 +08:00
    有多大访问压力能到 PYTHON 性能扛不住?我几年前用 FLASK 做的日 PV700 多万也扛住了啊,倒是后面的 MYSQL 经常压力比较大。

    WEB 框架都好说,数据库接口库用啥才是关键。
    HashV2
        22
    HashV2  
    OP
       2022-03-09 10:19:51 +08:00
    @wffnone 谢谢指点

    我总觉得 python 做 web 后端真么没什么好学的了。

    什么 web 框架都是那一套,就 route 一配,然后各种扩展连接各种数据库、缓存、消息队列、es 去操作。

    失去学习的快乐和激情了,很是打击积极性。

    实话实说,目前已经在学习前端了
    HashV2
        23
    HashV2  
    OP
       2022-03-09 10:20:45 +08:00
    这个小需求时间上没有什么试错成本,就选择用 django 做了(怕 flask 踩坑)
    lolizeppelin
        24
    lolizeppelin  
       2022-03-09 10:21:53 +08:00
    @HashV2

    你可以尝试学习 openstack 那套 ovoo,很有帮助
    terryops
        25
    terryops  
       2022-03-09 12:00:42 +08:00
    不是流行 sanic 吗?多线程
    ila
        26
    ila  
       2022-03-09 12:03:07 +08:00 via Android
    @youngce 老法师啊
    leven87
        27
    leven87  
       2022-03-09 12:39:49 +08:00
    推荐 django ,比较成熟,插件多。
    ruanimal
        28
    ruanimal  
       2022-03-10 10:06:33 +08:00
    这几个框架加上 gevent 、或者 asyncio ,性能不可不行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5312 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:14 · PVG 16:14 · LAX 00:14 · JFK 03:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.