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

用 Python 开发基于 HTTP 的 RESTful API 一定要用 Flask 之类的 Web 框架吗?还是只要 Python ?

  •  
  •   a251922581 · 2017-07-06 21:33:22 +08:00 · 7266 次点击
    这是一个创建于 2731 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手头有个项目,由于自己是做运维出身,想来想去,现在想用 Python 做个基于 HTTP 的 RESTful 充当服务器端,RESTful API 接收参数后交给对应的函数处理。由于是面向客户要有 GUI,就用 PyQT 之类的做个 GUI,调用 RESTful API。
    API 服务器端的话,一般只用类似于 BaseHTTPServer 就行了?还是要用到 Django、Flask 之类的框架? API 是类似这样
    Get http://api.haha.com/apiv1/info.json?authtoken=xxx&keyword=xxx&option1=xxx&option2=xxx
    返回 json 或文本数据
    18 条回复    2018-04-08 20:30:08 +08:00
    ipwx
        1
    ipwx  
       2017-07-06 21:38:17 +08:00
    如果你用 BaseHTTPServer,那你的应用程序就是单线程生物,很慢。

    如果你用某总支持 WSGI 的框架,包括不仅限于 Flask, Pyramid, Falcon 等,那你就可以在它前面对接一个 WSGI 的容器,比如 gunicorn。然后你就可以用多进程模式泡你的应用了。
    noli
        2
    noli  
       2017-07-06 21:51:48 +08:00 via iPhone
    稍微话半小时学一下 flask,在你用 http 模块搞第三个业务接口的时候或许用 flask 已经写好了十个。
    rogwan
        3
    rogwan  
       2017-07-06 21:56:22 +08:00 via Android
    不用框架确实可以写,用了框架你绝对不会回头。flask 写 restful API 不能再爽系列...
    bomb77
        4
    bomb77  
       2017-07-06 22:01:04 +08:00
    纯后端 api 推荐 falconframework,开发简单而且性能也好
    fly9006
        5
    fly9006  
       2017-07-06 23:40:58 +08:00
    web.py 照样撸得飞起
    wqxuan
        6
    wqxuan  
       2017-07-07 00:10:43 +08:00 via iPhone
    最近开发在用的:Flask 搭配 Flask-RESTful 插件写 api,调试用 Chrome 结合 Postman 插件。
    Trim21
        7
    Trim21  
       2017-07-07 00:22:11 +08:00 via iPhone
    框架是为了快吧,开发上性能上。。
    从底层开始写也不是不行,但是不会觉得工作量太多了吗。。
    Cooky
        8
    Cooky  
       2017-07-07 00:34:38 +08:00 via Android
    flask 现用现查都来得及
    billlee
        9
    billlee  
       2017-07-07 00:35:23 +08:00
    恐怕不太行,WSGI 连基本的路由功能都没有,直接用你就只能自己解析路径了
    hq
        10
    hq  
       2017-07-07 01:33:59 +08:00
    可以试试阿里云的 API 网关+函数计算,https://www.v2ex.com/t/373578

    基本好处是,你只负责写代码,函数计算负责运行代码的所有事情,不需要再考虑买 /升级 /维护虚机。
    phithon
        11
    phithon  
       2017-07-07 01:48:11 +08:00
    推荐 django restframework,一劳永逸。
    PythonAnswer
        12
    PythonAnswer  
       2017-07-07 09:56:13 +08:00 via Android
    2 个小时你的 django rfw 就跑起来了。
    onyourroad
        13
    onyourroad  
       2017-07-07 11:21:38 +08:00
    用过 django restframework 挺好用,不过 django 稍微麻烦点。
    TuringGunner
        14
    TuringGunner  
       2017-07-07 12:10:29 +08:00
    只需要 REST API 的话,推荐 Falcon,又小又快
    akira
        15
    akira  
       2017-07-07 13:29:34 +08:00
    当然不是一定要啊,但是不用的话,等于是自己重新做了个轮子,或者是部分轮子咯
    zog
        16
    zog  
       2017-07-07 14:04:18 +08:00
    小项目, restful 接口 tornado 很好. 部署方便.
    lolizeppelin
        17
    lolizeppelin  
       2017-07-12 18:35:25 +08:00 via Android
    可以参考 openstack 的 web 服务怎么写的
    vat8888
        18
    vat8888  
       2018-04-08 20:30:08 +08:00
    推荐一个适合新手的超棒的 flask 开发教程: http://xc.hubwiz.com/course/562427361bc20c980538e26f?affid=v2ex7878
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:32 · PVG 05:32 · LAX 13:32 · JFK 16:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.