有人在使用web2py吗?
具体来说:
- 在生产中?
- 用什么数据库?
使用谷歌应用引擎?
- “外面”是指在stackoverflow。
欢迎您在google group上提出同样的问题。您会在那里找到 500 多个用户,其中一些是开发公司,为他们的客户构建项目。
我的印象是,他们中的大多数人使用 postgresql(我就是这么做的),而其他一些人则使用 Google App Engine。事实上,web2py 是唯一允许您编写一次代码并且相同的代码将在 GAE、SQLite、MySQL、PostgreSQL、Oracle、MSSQL 和 FireBird 上运行的框架(具有 GAE 施加的限制)。
您可以在此处找到带有 GAE 源代码的 Reddish(reddit 克隆)设备
在这里您可以找到一些制作应用程序的链接。有些在 GAE 上运行。
@阿明:
Django 或 Pylons 没有任何问题。它们是优秀的框架。我在开发 web2py 之前使用过它们。你可以用 web2py 做一些你不能用它们做的事情。例如:
web2py 在很多方面做得更好(使用更一致的 API)和更快(例如处理模板和生成 SQL)。web2py 也非常紧凑(所有模块都适合 265K 字节),因此它比那些竞争项目更容易维护。
您只需学习 Python 和 81 个新函数/类(其中 50 个与相应的 HTML 标记具有相同的名称和属性BR
, , DIV
,SPAN
等,19 个是验证器,IS_IN_SET
,IS_INT_IN_RANGE
等)。
无论如何,最重要的问题是 web2py 比 Django、Pylons、PHP 和 Rails 更容易。
您还会注意到 web2py 托管在 Google Code 和 Launchpad 上,并且没有打开的票证。所有过去的问题都在不到 24 小时内得到解决。
您还可以在 google 邮件列表中查看所有线程(今天的 10056 条消息)在 24 小时内得到了我或其他开发人员之一的答复。
你可以在亚马逊上找到一本关于 web2py 的书。
Armin,我知道你是 Jinja 的开发者。我喜欢 Jinja,但有不同的设计理念。Django 和 Jinja 都定义了自己的模板语言(特别是 Jinja 有很好的文档),但我更喜欢在模板中使用纯 Python,这样我的用户根本不需要学习模板语言。我很清楚每种方法的优缺点。让用户决定他们喜欢什么。没有必要互相批评。
@Andre: db.table.field 指的是字段对象。'table.field' 是一个字段名。当需要字段名称时,您始终可以传递字段对象,因为 str(db.table.field) 是“table.field”。唯一需要使用字符串而不是对象的情况是,当您需要按名称引用尚未定义的字段时……也许我们应该将此讨论移到适当的位置。;-)
我希望您决定尝试一下 web2py,无论您喜欢与否,我都希望听到您的意见。
我正在将 web2py 用于小型网络应用程序。它在 Mechanical Turk 项目上运行 HIT,并为我提供了一个界面来控制和可视化它们。我开始使用 Google App Engine,但后来厌倦了无法直接访问数据库以及每次要上传代码时都必须永远等待的小烦恼,并使用 postgres 转移到本地服务器。GAE 使大多数事情变得更难,以使一些缩放事情更容易......除非你真的需要他们的缩放帮助,否则远离它。
我非常喜欢 web2py。与 Django 和 Ruby on Rails 相比,它更容易学习和上手。一切都很简单。您可以快速完成工作。Massimo 到处都在解决您的问题(即使在这个板上哈哈)。
我大约 6 个月前开始使用 web2py。我之所以选择它,是因为我想从 PHP 迁移到 Python,因为 Python 的语言特性,我想拥有一个更加面向对象的方法。
web2py 的一体化方法真的很神奇,而且启动速度非常快。
作为一个前 symfony 用户,我很快就开始怀念不依赖于表结构的组件和表单。
仅使用一个简单的注册表单,我就无法找到 DRY 表格的方法。对我来说,真正的麻烦是表单验证。我忘记了细节,但我最终在表单本身中进行了表单验证。因为有些事情在其他方面不起作用。
此外,带有大量重复字符的大写单词的命名概念也不是我的事。
dba.users.name.requires=IS_NOT_EMPTY()
dba.users.email.requires=[IS_EMAIL(), IS_NOT_IN_DB(dba,'users.email')]
dba.dogs.owner_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.dogs.name.requires=IS_NOT_EMPTY()
dba.dogs.type.requires=IS_IN_SET(['small','medium','large'])
dba.purchases.buyer_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.purchases.product_id.requires=IS_IN_DB(dba,'products.id','products.name')
dba.purchases.quantity.requires=IS_INT_IN_RANGE(0,10)
有时名称必须用引号括起来,有时则不需要……如果我查看了已经使用 web2py 制作的示例或站点,我真的没有看到使用 php 向前迈出了一大步。
我建议你:看看 web2py 是否适合你。这会很好,因为社区,尤其是 massimo(创建者)非常乐于助人和友善。
此外,与 django 相比,您的启动速度更快,如果您更改数据库模型,部署更容易且麻烦更少。
正如 Massimo 上面所指出的,tenthrow 的团队使用 web2py 为tenthrow.com
我们在 2009 年完成了大部分开发工作。我们的堆栈使用 cherokee、web2py、postgresql 和 amazon s3。在此之前,我们已经在各种框架和后端上完成了许多 Python Web 实现。如果说没有 web2py,我们根本不可能如此快速和轻松地完成 tenthrow,这是一种轻描淡写的说法。这是 Web 开发中最好的秘密。
我正在评估 Web 框架很长时间了。我用 Perl 和 PHP 编写了我自己的(不是开放的)框架。嗯,PHP 有一个内置的死胡同,整个基础设施仍然很差,但我不想回到 Perl,所以我检查了 Python 和 Python Web 框架,如 Django、Turbogears、Pylon 和 web2py。有很多事情需要考虑,如果你想选择一个不是你自己的代码栈,你会经常挠头,因为仍然没有“正确的方法”来编程。然而,web2py 是我目前最喜欢的,因为尽管作者是一个“真正的程序员”,但让事情变得简单!看看 web2py 网站上的比较——我想知道为什么像 django 或 turbogears 这样的 python 框架必须在它们的代码中引入这种冗余和复杂的语法——web2py 显示,
@Armin:你能具体说明你的批评吗?您究竟在哪里看到 web2py “绕过 Python 语义”?我不明白你的意思。我必须承认我现在对 python 的了解还不是很深,但我认为 web2py 代码没有问题——事实上,我认为它非常出色,并且是当今可用的最好的框架之一。
我将 web2py 用于学术目的。大约一年前,我在 pythonanywhere 上发表了一本德语语法数字教科书。
该资源需要身份验证,看起来像一个带有角色、活动和成绩的小型 LMS。这是我第一次有这种体验。它是成功的,因为 PHP 对我来说太难了,只有 web2py 可以提供一种清晰的方式来处理数据库。使用 Python,我可以轻松解决我的问题,例如文本分析和下载报告。至于数据库,那么 SQLite 就足够了。
我的学生喜欢设计和一切运作的方式。所以我对结果非常满意,并将为我的大学开发其他有趣的应用程序。
我认为 web2py 非常适合应用语言学家和 L2 教师,他们在计算机科学方面的经验不如程序员。所以这是我的拙见。
我开始将它与 Postgresql 一起使用。但是距离生产还有很长的路要走……我也玩过 Zope V2 和 Ruby on Rails,真的很喜欢 web2py 的方法。
我投票支持 Web2py。我只有时间开发一些小而有用的东西供我自己使用。
希望下个月我将有机会创建一个非常适合 Web2py 并在 Google 应用程序引擎上运行的应用程序。
Web2py = 呼吸新鲜空气!
这里列出了一些用户:http: //mdp.cti.depaul.edu/who。
我们将它与我们的中文教师网站www.dominochinese.com 一起使用。我们的主机是pythonanywhere.com,我们喜欢它的简单性。我致力于构建东西,而不是希望我能让东西正常工作。我与 django 一起工作了 1.5 年,我讨厌它。从某种意义上说,我觉得 web2py 是 PHP 但在 python 中。它使人们无需进入面向对象编程就可以快速完成工作,这对于初学者和中级程序员来说真的很困惑。
I am not using web2py. But I had a look at the source code and it's horrible for so many reasons. For one the database definitions as well as the views and models and I don't know what, are evaluated against a global dictionary of values. It feels like PHP in that regard (it's bypassing Python semantics in name behaviour) and is very inefficient and I could imagine that it's hard to maintain.
I have no idea where all that fuzz about web2py is coming from lately, but I really can't see a reason why anyone would want to use it.
What's wrong with Django or Pylons? What does web2py do that you can't do with Django in a few lines of code with a better performance, code that's easier to read and on an established platform where tons of developers will jump in and fix problems in no time if they appear. (Well, there are exceptions I must admit, but in general the developers fix problems quickly)
我使用 web2py 已经 2 年了,这个 web 框架很棒而且很独特。易于使用,接受很多 DB,但支持的最佳 DB 是 postgres。我已经使用 web2py 创建了 2 个项目,并且非常喜欢它的简单程度。1 项目是财务管理和其他邮件跟踪器,两者都在生产系统(4 linux lpar 和 postgres)中运行良好。web2py 是个不错的选择
[使用 web2py 2.5.1 创建的小应用程序] 更新
我在 Google Appengine的 www.crowdgrader.org 上使用它。我存储数据如下:
我正在慢慢地将更多的存储迁移到数据存储区,以便为不需要复杂查询并且可以处理一些最终一致性的事情获得更多的写入带宽。
我对 web2py + appengine + Google Cloud SQL + Datastore + Blobstore 感到非常高兴。
实际上它使用的是 MySQL,但它可以立即切换到 postgresql,因为 web2py 是如此多样化:)
一段时间以来,我一直在评估 Web 框架。我更喜欢 web2py,因为它易于理解、紧凑而强大。
我们在 7 个月前开始使用 Web2py。我们已经在埃尔普拉多(西班牙国家博物馆)有一个生产应用程序。我们开发了一个应用程序来检查和自动化所有系统,进行服务器统计、访问统计等。
我喜欢它,因为它很小,我可以很容易地与我的应用程序一起分发。
我在 webfaction 和 GAE 上使用 web2py 在生产中使用 postgres。
我在生产环境中使用带有 Google App Engine 的 Web2py。请参阅https://www.nittiolearn.com。
对于存储数据,使用谷歌数据存储(通过 web2py DAL 访问)除了存储使用谷歌云存储的大型资源。在过去的 5 年里,我在生产环境上进行了多次 web2py 版本升级,没有任何重大问题。
多年来,谷歌应用引擎也基本没有摩擦。
但是 Web2py 和 Google 应用引擎都没有像我 5-6 年前所想的那样被广泛采用。如果我开始一个新项目,我不太可能使用 web2py 或应用程序引擎,因为对这些技术感兴趣的开发人员数量有限。
我在定制应用程序的生产中使用带有 gae 和 google 数据存储的 web2py ,它是一个非常好的框架。
我确实对 GAE 上的工作进行了一些小修复,工作快速且稳定,我已经在我的 github soyharso 上发布了 Web2Py 版本更改使用。
上传到 GAE 的速度很快,版本控制应用程序引擎是安全的,谷歌提供的用于调整代码的免费套餐非常好,每月的费用足够
http://www.noobmusic.com正在使用 Google App Engine。
我在生产中使用 web2py。目前,在早期生产阶段,我们正在使用 SQLite 进行开发,因为它很容易并且开箱即用,但稍后我们可能会切换到 MySQL。我不认为有任何使用 Google App Engine 的计划。
这是相当古老的回应,但无论如何我都会加入。在 2008 年,这可能是一个很好的选择,还有 Django/Flask。它仍然可能是好的。但是现在人们想要立竿见影的效果,学习曲线更短。
公平地说,web2py 并不是那么直观。
我是否需要学习使用 MS Access 的 MVC 概念?我不在乎 URL 路由,只需要在 Web 上显示一些表格,最好进行一些验证。加上一些身份验证。
这就是像http://jam-py.com/这样的框架大放异彩的地方!不仅你不会迷路,而且它确实让你想起了几十年来统治办公室的 Access。2019 年仍然是规则。为什么?几乎没有学习曲线。