(免责声明:我是web2py的项目负责人)
Django比web2py长5年左右,因此它有更多的用户和更多的应用程序可以炫耀。Django具有他们所谓的“ admin”,它与web2py的“ admin”不同,而更像web2py的“ appadmin”。与web2py的“ appadmin”相比,Django的“ admin”更好,更可自定义。Django没有等效于web2py的“ admin”。(对不起,名称混乱)。
web2py更加紧凑,具有更多的功能(更多受支持的数据库,基于Web的IDE,票务系统,无需补丁即可在GAE上运行,多种登录方法,基于角色的访问控制,基于Web的翻译界面,对多个数据库连接的支持,分布式交易等)。
对我来说,web2py最重要的功能是自动迁移。Django不会立即提供它们。
对于web2py,长期的向后兼容性和安全性是主要目标。Django在安全性方面可与web2py媲美(除了web2py具有CSRF预防功能和模板中的默认转义功能),但是Django在1.0发布时就向后兼容。自2007年10月以来,web2py就再也没有这样做过。
对我来说,web2py语法更自然:
db(db.tablename.fieldname <= value).select()
Tablename.objects.filter(fieldname__lt=value)
我不知道Django中不存在web2py的任何功能。我已经问过这个问题很多次了,因为如果有的话,我们想将其添加到web2py中,但是我还没有收到满意的答案。
当然,有些事情我们俩都做,但是有所不同。Django遵循“显式优于隐式”。web2py不会,而是遵循“所有内容都应具有默认行为”。我相信这会使web2py代码和配置更加紧凑。
无论如何,无论您选择什么,它们都是很好的坚实Web框架,相似之处多于差异。Django的开发人员非常聪明。
web2py社区非常友好。作为实验,请尝试在web2py google组和Django组上提问。