MVC

Django MTV模式
Django将MVC模式做了改进:
模型部分没变;
控制器部分由URLconf来实现,即urls.py,其机制是使用正则表达式匹配URL,然后调用views.py中合适的函数;
而视图部分改成两部分,view视图(views.py)和template模板(html和模板语言)。即MTV模式,模式-模板-视图。视图方法定义了要显示模型中的哪些数据,模板决定数据的显示方式。

注意这里的view视图跟mvc中的view视图是有区别的:
Django view仅仅决定要展示那些数据给用户,至于如何展示交给了模板template,换句话说,作为业务逻辑层,连接模板和模型的桥梁:存取模型、渲染合适的模板。 MCV应该写成 View <--> Controller <--> Model 比较容易理解。例如简单的登陆界面操作相关,Views是登陆界面,Model是登陆功能模型,提供实现登陆功能的所有接口,比如网络请求、数据校验等等。Controller是Views和Model的连接,将Views的输入传递到Model,并且将Models的结果反馈到Views。

1、用户在View的Input上输入手机号后,点击View上的Button,触发Controller调用Model的verifyMobile(mobile)接口。
2、Model.verifyMobile(mobile) 校验后不符合手机号格式,返回出错提示msg: {passed: false, message:"长度不对"}。
3、Controller将msg显示在View上Input上。你就看Duang! 在手机输入框后边出现一个红色提示框提示长度不对。
4、用户修改成正确的手机号后,重复1、2,校验通过。Controller再调用login(mobile, password)方法来请求登录。


你在浏览器输入好用户名和密码之后,点击登录,浏览器会给服务器发个请求。
服务器接到请求之后,按照预先设定的路由规则把参数传给相应的controller。
controller判断参数合法性之后,从model那边拿数据。
model通过orm从数据库里面把数据取出来、封装成对象给controller。
之后,controller根据结果进行判断,然后加载相应的view(模板)。
最后controller把模板渲染出来的html打印到网络流中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值