我正在寻找一个简单的python web框架,它既可以独立运行,也可以在Appengine上运行。
我想用这样的方式编写这个应用程序,这样我就可以根据部署配置在独立的和Appengine之间切换。独立的将使用RDBMS。
当我检查时,web.py看起来简单而有希望。我有以下问题:
发布于 2011-08-04 23:17:45
web.py在Appengine上工作得好吗?
是的,它确实工作得很好,它很紧凑,而且很容易使用。
有什么已知的重大问题吗?
Web.py不提供任何与GAE兼容的数据抽象层;这意味着为了从关系数据库切换到NoSQL数据库,您必须自己创建一个web.db数据库API和数据存储API之上的层。
您能分享在Appengine上使用web.py的经验吗?
我在GAE上部署了几个简单的应用程序,包括web.py和其他几个以硅钙石为数据库的宠物项目;这里是一个小型评论。
如有任何达到上述目标的建议,敬请见谅。
如果您主要关心的是从Appengine到RDBMS的切换,那么请查看web2py。
尽管有了一些限制,但据我所知,只有一个Python框架GAE友好地提供了App、Datastore和其他几种RDBMS解决方案之上的DAL。
从一个db切换到另一个数据库只是用正确的连接字符串初始化DAL的问题:
db = DAL('sqlite://storage.db')
db = DAL('mysql://username:password@localhost/test')
db = DAL('gae')发布于 2011-08-08 05:55:44
没有一个webapp框架能够做到这一点- App环境包含的不仅仅是一个数据库接口和一个CGI环境。即使可以,任何同时支持数据存储和关系数据库的DAL都可能为了追求这一点而牺牲两者的大部分灵活性。
如果您想要利用的不仅仅是数据存储,最好的选择是为advantage编写应用程序,并使用AppScale或TyphoonAE在advantage环境之外运行应用程序。
发布于 2011-08-04 16:01:46
考虑使用webapp2。它类似于web.py,提供了基本相同的功能重置,并且运行在App的开箱即用之外。此外,您还可以获得与and和库的出色兼容性(我将更好地解释它的这里)。
您只需要添加一个关系数据库库。但这是一个简单的选择:SQLAlqchemy几乎是Python中的标准,拥有大量文档和蓬勃发展的社区。
https://stackoverflow.com/questions/6943615
复制相似问题