基于WSGI的Python Web框架

4

我在使用Django时遇到了很多问题,已经了解了Pylons。Pylons似乎正是我需要的(更好的选择),但是我意识到它们到处都有全局变量,并且存在许多黑魔法,由黑暗精灵注入(这些精灵如此黑暗,以至于它们甚至会杀死独角兽)。

是否有任何适合企业级应用的东西(即不会强加性能或扩展限制),并且提供基本的请求/响应处理、会话、SQLAlchemy(也许)、以及插入模板等方式,但又不会妨碍我的开发进度?是否有任何希望?

我一直在尝试使用Django开发SAAS,这真是一场噩梦。他们不支持多列主键,还有一些其他的问题,例如ModelForms等,在你开发更复杂的应用程序时会遇到(特别是在多租户方面)。我没有使用他们的auth系统,因为我自己构建了一个。我只需要安全性(CSRF、XSS、SQL注入等)。

1个回答

6
  1. Python最底层的Web框架-Werkzeug-http://werkzeug.pocoo.org/

  2. Flask:http://flask.pocoo.org/它看起来像是一个入门级框架,但实际上它非常强大。它基于Werkzeug并支持Jinja2。我会选择这个框架。你可以很容易地使用扩展(如flask-sqlalchemy和flask-wtform)集成SQLAlchemy和WTForms(类似于django.forms)。还有许多其他有用的扩展,例如添加使用mongodb和couchdb的能力的扩展。最值得注意的是,flask扩展提供了非常一致的行为,并且对它们进行了实际的审批过程,而django可重用应用程序中95%都是混乱的。


@dekomote - 谢谢,伙计。所以,如果我理解正确的话,Flask基本上是在Werkzeug上添加了一点堆栈。 - orokusaki
没错。你不必像使用werkzeug一样费力地设置wsgi应用程序,而且你可以轻松掌握它的强大功能。 - dekomote
@dekomote - 天啊,非常感谢。这非常有帮助。我已经读了很多关于Flask的好东西,但直到现在我一直认为它“可能像CherryPy一样;不够适合高流量企业”。那么,你不会说Flask有任何巨大的争议点(比如Pylons的全局变量和魔法)吗? - orokusaki
我建议阅读文档,以保险起见。它很小,易于配置,而且不像Django那样紧密耦合。 - dekomote
@Vasil - 感谢您添加额外的内容。您认为Flask适用于更大、更复杂的应用程序吗?他们似乎在网站上对此提出了警告,我想知道原因。解释似乎只是一种免责声明。 - orokusaki
1
@orokusaki 我从未使用它来构建“大型”应用程序。就我所知,没有人这样做过,但这并不意味着什么,因为该框架只有几个月的历史。我认为它最初并不是为编写“大型”应用程序而设计的。但是,已经添加了一些内容来支持这种努力。一种方法可能是将项目的组件拆分为扩展。扩展 Flask。即使您在大型项目中使用 Django,您可能会发现它会妨碍您,Flask 很小,这意味着您甚至可以 fork 它以适应您的项目需求。 - Vasil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接