我刚刚开始玩Django/Python,并试图转入Django要求的编程的MTV模式(坚持)。迄今为止,决定哪些功能应该是模型的方法而不是简单地作为视图中的功能。有没有人知道一本书,网站,博客,幻灯片,无论是以更一般的抽象术语讨论Web框架编程?我想像一本关于面向对象编程的书会做到这一点,但我觉得这样做会过度 - 我正在寻找一些特定于Web框架的东西。Web框架编程心态
回答
如果你没有绝对设置在深入Django和不介意尝试别的东西作为开始,你可能想给WSGI一个镜头,它允许您模板应用程序使用third party engine自己的路,而不必完全遵循Django的规则。这也让你可以在更低级别的处理请求中查看,这样你可以更好地理解Django在底层做什么。
以下是一些可能对您有帮助的链接。根据我自己的经验,当我第一次开始使用基于MVC的web框架时,我遇到的最大问题是模型。从我的手指中舀出SQL并使我使用对象感觉很奇怪。一旦我开始将我的数据看作Object而不是SELECT语句,它就变得更容易了。
我的Django的基本规则是:如果你可以想见,需要从比视图本身之外的其他地方的功能,它不属于在查看功能。
我还建议下载一些Django Pluggables上的应用程序,看看他们是如何做到的。
查看功能应该只包含显示助手或显示逻辑。视图函数不应该访问模型本身,而应该使用模型数据的参数。从模型中分离模型非常重要。所以如果函数处理访问数据库或数据库对象,它就属于模型。如果该函数处理格式显示,则它属于视图。
一旦你做找到一些很好的指导,这里有一些事情要记住:Django是有点特殊的术语。它在模型,模板和视图中使用“MTV”(并且可以在此处提及URL Dispatcher),而模型,视图和控制器的更多标准术语是“MVC”。
模型在两种意义上都是相同的 - 一个数据实体的模型,如果框架实现了对象/关系映射(这是Django所做的),通常链接到数据库表。
但剩下的两个词可能会让人困惑; Django在谈论Views,“世界其他地方”关于Controllers的谈话。基本思想是这是表示逻辑完成的地方。计算计算,数组排序,数据检索等。我会说,Django的URL调度器也是传统控制器概念的一部分。
Django的模板与其他地方的视图相媲美 - 在这里你有你的演示文稿,没有别的。在Django迫使你使用一小部分逻辑命令的情况下,其他框架通常只是建议你不要做任何事情,除了现在的HTML,还有一些演示逻辑元素(比如循环,分支等),但不要阻止你做其他的事情东东。
因此,回顾一下:
- 型号:数据对象
- 控制器(Django的视图):数据处理
- 视图(模板在Django):介绍
哦,btw:对于一个Django特定的指南,考虑readin摹The Django Book
我没有真正使用Django的愤怒之前,但在Rails和CakePHP的(通过扩展,任何MVC的Web框架)的Fat Model, Skinny Controller方法来组织你的方法一直是大开眼界我。
- 1. 用于Perl Web编程的MVC框架?
- 2. 精心设计的Web App GUI框架?
- 3. 动态Web编程
- 4. Web应用程序框架
- 5. Web应用程序框架?
- 6. 动态实体框架的Web API
- 7. 实体框架核心以编程方式应用迁移
- 8. 编写PHP Web服务的框架
- 9. Web框架
- 10. Python Web框架
- 11. IronPython Web框架
- 12. Java Web框架
- 13. 实体框架核心,存储过程
- 14. 框架像线程编组
- 15. 在没有框架的python中编写web应用程序?
- 16. Web编程框架生成“//”的相关链接
- 17. 不同的web编程框架之间的区别?
- 18. Web应用程序框架和Web UI框架的独特属性?
- 19. 构建Web框架
- 20. 100%Javascript Web框架
- 21. 语义Web框架
- 22. Ajax的Web应用程序框架
- 23. 构建Web应用程序的框架
- 24. 哪个Web应用程序框架?
- 25. java web应用程序ui框架
- 26. 表达式Web:框架与动态Web模板
- 27. 核心蓝牙框架
- 28. PubSub框架+核心数据?
- 29. 实体框架核心:InvalidOperationException
- 30. ASP.NET Web应用程序核心(.NET框架)的用途和用途是什么?