【问题标题】:Tornado and Django limitations?Tornado 和 Django 的限制?
【发布时间】:2011-10-24 21:42:52
【问题描述】:

这是我在阅读 Tornado 帮助时发现的:

Tornado 对 WSGI 的支持有限。但是,由于 WSGI 不支持非阻塞请求,如果您选择使用 WSGI 而不是 Tornado 的 HTTP 服务器,则无法在应用程序中使用 Tornado 的任何异步/非阻塞特性。 WSGI 应用程序中不可用的一些特性:@tornado.web.asynchronous、httpclient 模块和 auth 模块。

“之前”阅读“auth”模块很有趣,它可以访问 Facebook 或 Google,就像 OpenID (?) ,但遗憾的是它不适用于 WSGI?!!!那么如何让这个东西与 Django 一起工作呢?在 FastCGI 上?

【问题讨论】:

    标签: django fastcgi wsgi tornado


    【解决方案1】:

    如果你看一下 tornado.auth 模块中的 mixins,你会发现它需要 @asynchronous 装饰器,由于协议的同步特性,它在 WSGI 模式下不可用。

    有一些提议要为 WSGI 添加异步支持,但我相信它没有成功。关于此的附加信息:

    http://mail.python.org/pipermail/web-sig/2008-May/003439.html

    http://mail.python.org/pipermail/web-sig/2008-July/003545.html

    【讨论】:

    • 所以 WSGI 从一开始就不是为异步而设计的,Django 和 Flask 都不能做到:(
    • @abdel Tornado 本身可以提供创建任何类型的 Web 应用程序所需的所有基本工具,因此通常您实际上不需要任何其他框架或协议来构建和运行它。
    • @abdel 实际上,添加 WSGI 支持主要是为了更容易将遗留应用程序从其他框架(如 Django 和许多其他框架)迁移到纯龙卷风......
    • 但问题出在文档上?! django 有大量的书籍,flask 有一个优秀的多合一在线帮助,但是我从他们的网站上检查了龙卷风,似乎他们正在与专业(非常)的人交谈:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2022-10-26
    • 2019-06-11
    • 1970-01-01
    相关资源
    最近更新 更多