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

使用 Tornado 开发 Web App 的架构是怎么样的?

  •  
  •   gulu · 2016-06-17 15:39:06 +08:00 · 3022 次点击
    这是一个创建于 2880 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学习 Python Web 开发的新鸟。
    学了 Flask , 了解一个 App 大致是 views/models/templates+static 的结构。
    然后现在在学 Tornado 。 对于使用 Tornado 开发现在有不少的疑惑。
    其中最主要的是数据库这一块。
    Tornado 框架没有 ORM 可以用,然后我看官方的 blog demo , 就是直接在视图函数中操作数据库的。
    Tornado 开发的 Web App 都没数据库 model 模块的吗?
    谁能稍微指点一下,给个关键字或者链接就行了。
    谢谢大家!

    12 条回复    2016-06-18 16:57:41 +08:00
    VicYu
        1
    VicYu  
       2016-06-17 15:54:18 +08:00
    peewee
    motor
    gulu
        2
    gulu  
    OP
       2016-06-17 16:01:34 +08:00
    @VicYu 刚开始的时候查了 peewee , 但是这个似乎还不太成熟? 我也想试试不用 ORM 是怎么样做 Web 开发的 :)
    jinxueliu
        3
    jinxueliu  
       2016-06-17 16:02:01 +08:00
    SQLAchemy 是 ORM 抽象,它不依赖于网络框架的吧, Flask-SQLAchemy 只是对 SQLAchemy 进行了封装
    你可以直接使用 SQLAchemy 呀
    ipconfiger
        4
    ipconfiger  
       2016-06-17 16:02:45 +08:00
    说得跟 Flask 带了 ORM 似的
    gulu
        5
    gulu  
    OP
       2016-06-17 16:14:45 +08:00
    @jinxueliu 嗯是的,而且和 psycopg2 一起用(虽然也不懂 23333)。 我现在想知道没有 ORM 的情况下怎么写 model 模块的呢?
    gulu
        6
    gulu  
    OP
       2016-06-17 16:16:21 +08:00
    @ipconfiger Flask 有些插件是标配了
    felixzhu
        7
    felixzhu  
       2016-06-17 18:37:11 +08:00
    所以啊,新手就应该学习 Django 和 Rails 这种框架,对 web 开发的认识相对全面一些
    fy
        8
    fy  
       2016-06-17 18:51:56 +08:00
    全配好后大概就是如此:
    https://github.com/fy0/fpage

    peewee 不错,写起来简洁,而且已经很稳定了。
    gulu
        10
    gulu  
    OP
       2016-06-18 14:23:17 +08:00 via Android
    @fy 太好了!请问你有没有个人博客呢,像你这么牛的人必须得列为重点学习的对象!然后想问问, PeeWee 支持异步框架的基本原理是什么呢? 我现在就理解一个连接池的概念……
    @siteshen 是的,我现在正在看这个教程
    sujin190
        11
    sujin190  
       2016-06-18 15:18:26 +08:00
    如果只是纯接口,不渲染模板的话,其实完全没有必要使用 ORM , model 什么的话,只是分层问题而已,你只要方便控制扩展,怎么着都行,如果不是纯接口的话, tornado 太费力了
    tornado 做接口,而使用异步数据库驱动和不使用又各有好处,不断调试到适合你的事一个辛苦的过程。
    整体来说可能还是使用异步驱动适应力更强一些。
    fy
        12
    fy  
       2016-06-18 16:57:41 +08:00
    @gulu 没,我其实也挺菜的,不是大神。 tornado 的支持异步请求其实也只是支持而已,通常的请求还是阻塞的,遇到长时间的请求你可以针对性做优化。跟 orm 其实是不怎么沾边的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3447 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:40 · PVG 08:40 · LAX 17:40 · JFK 20:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.