
Django的MVC好像略有不同,以ThinkPHP为例,M是model模型层,C是Action控制器,V是模版。
Django的M是model.py,但是感觉view.py是控制器,templates是模版。我的理解对吗?
1 no13bus 2015-05-18 13:11:41 +08:00 MTV 不知道你是否认真看了文档。或者是否看了django book |
2 MrEggNoodle 2015-05-18 13:12:26 +08:00 我发现题主好多入门级别的问题。。。 |
3 zmj1316 2015-05-18 13:26:38 +08:00 实践做一个就知道了 |
4 tanteng OP @MrEggNoodle 对,我是初学者,问题很简单,但是可以回答得很专业,每个人都可以说自己的见解。 |
5 wph95 2015-05-18 13:45:13 +08:00 请学会看官方doc or django book or stackoverflow 或者百度 http://www.djangobook.com/en/2.0/chapter05.html#the-mtv-or-mvc-development-pattern https://docs.djangoproject.com/en/1.8/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names http://stackoverflow.com/questions/6621653/django-vs-model-view-controller http://blog.sina.com.cn/s/blog_6c8f8eba0100ozhd.html ----- 随便一个都可以解决你的问题 这个不是每个人的见解,Django有自己的一套流程,顺着用超级爽 而且高效 不顺着用的人都转flask了 自己搭建自己的流程 |
6 MrEggNoodle 2015-05-18 14:35:22 +08:00 @tanteng 其实简单的问题,在google搜索或者stackoverflow搜索得到的答案,会比你在这里提问高效率。 |
7 aggron 2015-05-18 15:57:42 +08:00 via iPhone 你的理解没错,django的叫法不同而已 |
9 cfan8 2015-05-18 16:37:40 +08:00 controller一般是不用自己写的,硬要说的话urls.py算是控制器,路由表负责对请求进行dispatch,控制后续的流程走向 |
10 fy 2015-05-18 16:41:22 +08:00 我认为MVT的叫法更加准确,MVC的说法其实非常模糊…… |
11 saxon 2015-05-18 18:51:10 +08:00 顶楼上 我喜欢叫MTV |
12 fuge 2015-05-18 20:37:08 +08:00 via iPhone RTFM |
13 gevin 2015-05-18 21:49:04 +08:00 我记得django的文档了也提到过,他们这个叫做MVT,算是MVC的一个变种 我认为django的MVT中,view承担了MVC中C的大部分职责及V的一部分职责,template承担了很多的V的职责,以及一部分C的职责,model是一致的 习惯了MVT,感觉MVT也很好用,开发效率也很高 |
14 tanteng OP @MrEggNoodle 你可以回答的不一样,可以有不同的见解,还可以说几个不同的模式,扩展,可以很多发挥。简单的问题可以回答得不简单。 |
16 tidewind 2015-05-19 01:07:36 +08:00 是的,首先Django这里叫MVT。 Model,View,Template,比较常见的模式是在Model中除了进行数据模型定义之外还会写上关于数据库操作的代码,View作为接收页面参数,调用Model的方法以及决定如何渲染页面,Template就不用讲了。 我个人的一些经验是,在MVT之外,会实现一个类似于Controller的层,用来封装所有底层业务操作,包括通用函数,数据库操作,业务数据计算处理等等,Model就只单纯做模型定义的事情,View就只做数据收发和对Controller的调用。 |
17 leeuserb 2015-05-19 09:58:10 +08:00 你要相信你自己,你的理解是对的 |