上次建了模板(templates/sales/index.html)文件后,总算凑齐Django中的MVT了。
就算还没正式步入程序员,应该也有听说过MVC模式吧?--没错,就是那个为了提高代码复用、低耦合的模式,重点还解决了工作分配的问题。
1
在模式中,分配给程序员的工作,主要是Model(模型)和Controller(控制器),前者实现与数据库的交互,后者实现转发请求或对请求进行处理;而分配给设计师的是视图(View),他们经常会对界面进行设计、设计、再设计。流程在
Model层: 数据处理层,包括网络请求,数据加工;
View层: 用户看得到的界面;
Controller层: Model 与View层的中介,把Model数据在View上展示出来。
2
在Django中,用的是MVT模式。它的思想跟MVC是一致的,其中M是Model(模型),V(Views)是控制器,而T(templates)相当月MVC中的V,换汤不换药,只是名称有所改变。在Django中,业务流程如图所示。
3
上面图中的内容,回忆一下,想想是否还记得:
urls.py: 网站文件清单列表。用户通过浏览器访问Django系统后,它会寻找匹配的”节点”,返回对应的views.py里的方法,常说的路由,就是这个了。
views.py: 这个名副不其实,虽然字面上是视图的意思,但作用却是控制器,进行业务逻辑处理和返回模板(一般是html文件)内容。
models.py: 对数据库的增删查改,并把结果返回给views.py。
templates: 存放模板(html)文件的目录,在settings.py进行配置后启作用。
static: 静态文件存放目录,存放的内容就是常见的图片、音频文件,还有CSS和JS文件也存放在这里。
这里的描述,实际上也是开发步骤的总结来的。在views.py里调用models对数据库进行操作,结果返回templates的html文件,当然,还会传值过去的。而要想views.py的方法启动,需要去urls.py里进行路由配置,Over,就这样了,一切都没那么复杂,熟练只是时间问题。
领取专属 10元无门槛券
私享最新 技术干货