Chapter 0: 前言
Complete translation to Chinese ia available in PDF!
web2py于2007年发布,经过4年持续发展,我们已经完成了期待已久的第4版撰写。在这期间,web2py赢得了成千上万学识渊博用户和一百多位开发人员的喜爱。我们共同的努力创造了目前功能最全的开源web框架之一。
我最初将web2py作为一种教学工具,因为我相信,对于一个自由开放社会的发展,构建高品质web应用的能力是至关重要的。发展web应用能防止信息垄断。这一动机是对的,现在看起来更迫切。
一般来说,web框架是为了让web开发更简单、更快捷,并降低开发者的失误,尤其是涉及安全的方面。在web2py中,我们把解决这些问题作为三个主要目标:
容易使用是web2py的首要目标。对我们来说,这意味着缩短学习和部署时间。这就是web2py采用全堆栈无依赖性的原因。它无需安装和配置。在web2py中,每一项功能都即开即用,包括web服务器配置、数据库开发和基于web的集成开发环境使用。API包含12个核心对象,这方便了用户记忆和使用。它能与绝大多数的web服务器、数据库以及所有的Python库进行交互。
快速开发是web2py的第二目标。web2py中每个函数都有一个默认的行为(该行为可被重写)。例如,一旦你指定了数据模型,你就可以访问一个基于web的数据库管理面板。web2py还能自动为你的数据生成表单,这允许你方便的将数据以HTML、XML、JSON、RSS等形式表现出来。
安全是web2py的核心,这里我们的目标是锁定一切保持系统和数据安全。因此,我们的数据层消除SQL注入。模板语言防止跨站点脚本漏洞。web2py生成的表单提供了字段验证,阻止跨站点请求伪造。密码总是在经过哈希运算之后才存储。默认时,会话被存储在服务器端,以阻止cookie篡改;会话cookie采用uuid,以阻止cookie窃取。
web2py始终是从用户角度出发而设计,通过长期的内部优化变得更快和更精简,并保证向后兼容性。
web2py是免费使用的。如果您从中受益,我们希望您能以您选择的任何形式回报社会。
2011年,InfoWorld杂志评论了六个最流行的基于Python的全堆栈web框架,web2py名列第一。同年,web2py赢得最佳开源开发软件奖Bossie Award。