笔者之前一直习惯于使用Django来构建网站和App后台,近日打算开始学习Flask。在Python Programming上面看到了下面这段关于Flask和Django的异同的论述,觉得写的不错,故翻译一下存在这里,供自己和读者来加深一下对这两个颇受欢迎的Python web框架的理解。
Flask以及其他的除了Django以外的Web框架,都是较为底层的框架(又称微框架)。这句话的意思是,这些框架只是提供了让你的网站运行起来的最为基本的工具。除此之外的底层系统逻辑,设计和组织方式,都需要开发者来完成。
Django也提供了这些基本功能。不过在这些基本功能之上,Django还为开发者提供了一揽子的工具,来协助开发者更全面系统的来构架后端。
Flask对于一些较为独特的系统而言更加开放。开发者可以基于Flask构建出他们想要的任何形式的后台系统。不过,开发者也很可能没法保持最优的实现方案。Django相对而言就更加封闭一些,这个框架鼓励开发者以Django的方式来构建系统。这可能会让人觉得颇受限制,不过也可以让开发者少出错。
最后,尽管在开发环节存在一定的差别,在最终实现你想要的效果的能力上,Django和Flask其实是旗鼓相当的。如果你觉得难以抉择,不妨把两者都试试。
这个网站还提供了多种领域的python工具教学,大家英语没有问题的话可以去看看。