但我从未对TurboGears有太多热情。
现在,随着TG2退出beta版,我可能会尝试一下。我想知道与Django相比,它的优缺点是什么。
但我从未对TurboGears有太多热情。
现在,随着TG2退出beta版,我可能会尝试一下。我想知道与Django相比,它的优缺点是什么。
TG2有几个重要的优势:
还有更多,但我认为了解 Django 相对于 TG2 的一些优势也很重要:
这意味着在 Django 中开始变得更容易,但我个人认为得到的增强功能和灵活性是值得的。 但是您的需求可能有所不同。
Django使用自己的处理程序来处理HTTP、路由、模板和持久化。Django还拥有出色的文档和成熟的社区。
TurboGears默认使用最佳库,显然是Paste、对象分发、Genshi和SqlAlchemy。这种哲学产生了更好的全方位工具集,但风险在于如果更好的库出现,就意味着放弃向后兼容性。
优点:
缺点:
对我来说,Django的不足之处在于它看起来像是一个"封闭平台"。ORM,模板系统,会话等等都是Django的。
另一方面,Turbogears 2使用已知的开放平台并将它们粘合在一起,就像Java中的Appfuse一样。
使用TurboGears 2,我学习了SQLAlchemy,以后可以用它来编写小型Python脚本,或者从Python shell中解决常见任务。
主要缺点是缺乏完整的文档和错误消息。
有时你需要深入搜索才能找到简单的解决方案,学习曲线陡峭,但从长远来看是值得的。对我而言,错误消息非常令人困惑(我有10多年的Java开发经验)。我曾花费许多时间寻找"ascii encode error"时真正的问题是模块没有被导入。
这就是我的观点,请记住,我是Python的新手,我可能在这里说错了很多事情。
其中最重要的问题不仅是这个平台或那个平台提供了哪些技术特性,而是开源项目的驱动哲学和支持它的社区的本质。
我自己对此并没有太多的看法,但我发现Mark Ramm在DjangoCon 2008上的演讲在这一点上非常有趣(毫无疑问,谷歌会产生无数后续讨论)。
因为Django使用自己的ORM,这限制了你只能学习该特定Web框架的ORM。我认为使用一个更流行的ORM(例如TurboGears使用的SqlAlchemy)的Web框架可以增加你的就业机会。这只是我的个人看法。
我的两分钱。