我已经尝试过存在的每个Python Web框架,花了很长时间才意识到没有一种银弹框架,每个框架都有其优缺点。我最开始使用的是Snakelets并且非常享受在较低级别上控制几乎所有内容而不需要太多麻烦,但后来我发现TurboGears,自此以来我一直在使用它(1.x)。像Catwalk和Web控制台这样的工具对我非常宝贵。
但是随着TurboGears 2推出WSGI支持,并在阅读Django和WSGI派系之间的宗教争论后,我真的在选择上犹豫不决,“按照正确的方式”进行,例如学习WSGI,花费宝贵的时间编写Django和其他全栈框架中已经存在的功能,而不是使用Django或某个高级框架为我完成所有事情。我能看到后者的缺点非常明显:
- 我在此过程中没有学到任何东西
- 如果我需要做任何较低级别的事情,这将是一种痛苦
- 仅使用身份验证的基本网站所需的开销是疯狂的(在我看来)
因此,我想问的问题是,哪个选择更好,还是只是个人观点的问题,如果Django能以最小的麻烦实现我想要的身份验证和对数据库进行CRUD界面,那么我应该咬紧牙关并使用Django吗?我尝试过Werkzeug、Glashammer和其他朋友,但AuthKit和Repoze吓到了我,而且设置基本身份验证需要很多步骤。我看了Pylons,但文档似乎有所欠缺,在涉及简单功能如身份验证或CRUD界面时,不同的维基页面和文档似乎互相矛盾,具有不同版本的hack方法等等。
感谢S. Lott指出我的表述不够清晰。我的问题是:长远来看,以下哪个选项值得投入时间学习,但短期内又不会太痛苦(例如,是否有一些折衷方案?)—— 学习WSGI 还是 选择一个“电池包含”的框架?如果选择后者,我希望能得到建议,是再次尝试Django、坚持使用TurboGears 1.x,还是尝试其他框架。
此外,我尝试过CherryPy,但似乎找不到足够好的CRUD应用程序,可以立即使用。