Flask 和 Webapp2 (GAE) 的区别

Posted

技术标签:

【中文标题】Flask 和 Webapp2 (GAE) 的区别【英文标题】:Difference between Flask and Webapp2 (GAE) 【发布时间】:2012-07-14 08:53:58 【问题描述】:

我仍在收集信息,但我似乎无法弄清楚这两个框架的区别是什么。

目前我正在使用带有 jinja2 和 wtforms 的 webapp2。它在 GAE 中开箱即用并且运行良好。

如果我比较 flask 和 webapp2,我只能看到 flask 已经集成了 jinja 和 wtforms,所以没什么大不了的。

如果我比较这两个文档,似乎两个框架有很多共同点

http://webapp-improved.appspot.com/

http://flask.pocoo.org/docs/

烧瓶在我的 Windows 机器上本地运行时遇到了一些启动问题。

至少flask的文档看起来很不错。写的真好,也很清楚。

我已经在网上搜索过,但找不到任何关于差异的信息。

Flask vs webapp2 for Google App Engine

那么,有什么区别呢?

【问题讨论】:

【参考方案1】:

我全神贯注于 webapp2,多年来在 GAE 上托管我的应用程序。 但是,如果您的长期计划包括搬家 从 GAE 到 Google Compute Engine 或 Container Engine,或 AWS EC2,您可能会考虑使用 Flask。想到了webapp2provides some support for out-of-GAE,还是比较具体的GAE,至少我的感觉是这样。

我自己确实考虑过离开 GAE,所以 Django 和 Flask 在我的雷达上进行评估。据我所知,Flask 是轻量级的(就像 webapp2 一样)并且都使用 Jinja2 模板,所以我将从 Flask 开始。

【讨论】:

【参考方案2】:

Flask 比 webapp2 更抽象一点。它(可选)基于函数,因此您不需要为所有内容创建处理程序类。用于路由处理的装饰器语法更简洁一些。不过,总而言之,它们同样强大,你可以在一个中做的任何事情都可以在另一个中做。如果你已经了解 webapp2,我就没有理由开始使用 Flask。

【讨论】:

使用 Flask 的一个原因是远离 GAE 的长期计划,如下面的回答所示

以上是关于Flask 和 Webapp2 (GAE) 的区别的主要内容,如果未能解决你的问题,请参考以下文章

GAE Django webapp2 模板渲染

Python webapp2 提供静态内容

在 Django 模板中使用 webapp2.uri_for

Python 3.7 上的 Flask 比具有 Google App Engine 标准环境的 Python 2.7 上的 webapp2 要求更高(也更昂贵)

Google App Engine Python Webapp2 301从www重定向到非www域

带有 GAE ndb 的 Flask Flask 安全性?