我刚刚开始使用Django/Python,并试图转换到Django要求(坚持)的MTV编程模式。到目前为止,决定哪些函数应该是模型的方法,而不是简单地成为视图中的函数,这一点一直令人困惑。有没有人知道有一本书,网站,博客,幻灯片,任何讨论Web框架编程的更一般,更抽象的术语?我想一本关于面向对象编程的书就能做到这一点,但我觉得这太夸张了--我在寻找一些特定于web框架的东西。
发布于 2008-08-22 13:23:44
我在Django中的基本规则是:如果可以从视图本身之外的其他地方需要功能,那么它就不属于视图函数。
我还建议在Django Pluggables上下载一些过多的应用程序,看看它们是如何做到的。
发布于 2008-08-22 18:37:17
一旦你找到了一些很好的指南,这里有一些需要记住的: Django的术语有点特殊。它使用"MTV“来表示模型、模板和视图(还可以在其中提到URL分派器),而更标准的术语集是"MVC”来表示模型、视图和控制器。
模型在这两个意义上是相同的-数据实体的模型,通常链接到数据库表,如果框架实现了对象/关系映射( Django实现了)。
但剩下的两个术语可能会令人困惑;Django谈论的是视图,而“世界其他地方”谈论的是控制器。基本思想是这是表示逻辑完成的地方。计算、数组排序、数据检索等等。我想说Django的URL dispatcher也是传统控制器概念的一部分。
Django的模板可以与其他地方的视图相媲美--这里只有你的演示文稿,没有其他东西。当Django强迫你使用很小的一组逻辑命令时,其他框架通常只是建议你不要做任何事情,而不是使用一些表示逻辑元素(如循环、分支等)来呈现HTML,但不会阻止你做其他事情。
所以,重述一下:
哦,顺便说一句:有关Django的特定指南,可以考虑阅读The Django Book
发布于 2008-10-16 20:36:42
我以前并没有在愤怒中使用过Django,但在Rails和CakePHP (扩展到任何MVC web框架)中,组织方法的Fat Model, Skinny Controller方法让我大开眼界。
https://stackoverflow.com/questions/22211
复制相似问题