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
你要相信你自己,你的理解是对的
|