我几乎尝试了所有存在的 Python Web 框架,我花了很长时间才意识到没有灵丹妙药的框架,每个都有自己的优点和缺点。我从Snakelets开始,并且非常享受能够毫不费力地在较低级别控制几乎所有东西,但后来我发现了TurboGears,并且从那时起我一直在使用它 (1.x)。像 Catwalk 和 web 控制台这样的工具对我来说是无价的。
但是随着 TurboGears 2 的推出,它带来了 WSGI 支持,并且在阅读了 Django 和 WSGI 阵营之间的宗教辩论之后,我真的在“以正确的方式做事”之间左右为难,例如,学习 WSGI,花费宝贵的时间编写功能这已经存在于 Django 和其他全栈框架中,而不是使用 Django 或一些为我做所有事情的高级框架。我可以看到后者的缺点非常明显:
- 在这个过程中我没有学到任何东西
- 如果我需要做任何较低级别的事情,那会很痛苦
- 仅使用身份验证的基本站点所需的开销是疯狂的。(海事组织)
所以,我想我的问题是,哪个是更好的选择,或者只是一个意见问题,如果它以最小的麻烦实现了我想要的,我应该接受它并使用 Django(我想要身份验证和 CRUD 接口我的数据库)?我尝试了 Werkzeug、Glashammer 和朋友,但 AuthKit 和 Repoze 吓到了我,以及设置基本身份验证所涉及的步骤数量。我查看了 Pylons,但文档似乎缺乏,当引用身份验证或 CRUD 接口等简单功能时,各种 wiki 页面和文档似乎相互矛盾,版本等有不同的 hack。
感谢 S. Lott 指出我不够清楚。我的问题是:从长远来看,以下哪一项是值得的,但在短期内不会痛苦(例如,某种中间立场,有人吗?) - 学习 WSGI,还是坚持使用“包含电池”的框架?如果是后者,我将不胜感激关于是否应该再试一次 Django、坚持使用 TurboGears 1.x 或冒险进入其他框架的建议。
此外,我尝试过 CherryPy,但似乎找不到足够好的 CRUD 应用程序,我可以立即投入使用。