笔记整理:Django的MTV模式

Django的MTV模式

什么是MTV模式

​ 首先我们要知道,python Web框架一般实现3个核心功能:收发消息(socket功能);根据用户不同的路径执行不同的函数;从HTML文件中取出内容,并且完成字符串的替换。而Django则是包含第二三种功能,第一种由第三方库来实现。这就意味着,利用Django框架开发Web应用主要是围绕着第二三种功能编写代码。
​ MTV是Web开发的一种设计模式,简单的说就是把上述的第二三种代码细分成三个板块再以松耦合的方式连接在一起。这三个板块分别是M(model:数据模型)、T(template:模板文件)、V(view:视图函数以及与之相关的url配置)。

MTV都是干嘛的

模型: 用来定义数据结构的类,并提供数据库表管理机制,主要用来定义字段的名称、类型、字段最大值、默认值、约束条件等。

from django.db import models

#定义一个员工数据模型,所有数据模型都必须继承于models.Model
class employee(models.Model):
    #定义name字段,类型为字符串,最大长度为32,字段显示名称为“姓名”
    name = models.CharField(max_length=32,verbose_name="姓名")
    #定义email字段,类型为邮箱,字段显示名称为“邮箱”
    email = models.EmailField(verbose_name="邮箱")

模板文件: 一般是HTML格式,用于定义文件的结构或布局,并使用占位符表示相关内容,通过视图函数提取数据模型的数据填充HTML文件的占位符,可以创建动态页面。

<html lang="en">
    <head>
        <title>Title</title>
    </head>
    <body>
        {{ hello }}
    </body>
</html>

注:以上代码中{{ hello }}称为模板变量,是一个占位符,视图函数可以用render()把变量hello传过来,在页面上显示时会用变量的实际值替换{{ hello }}

视图函数: 是一个处理web请求的函数,它接收HTTP请求,经过一番处理,返回HTTP响应。也就是视图函数接收请求后,到数据模型里拿到客户端需要的数据,把数据以一定的格式传递给模板文件,然后Django把模板文件以HTTP响应格式发送给浏览器。

from django.http import HttpResponse
def hello(request):
    #返回响应
    return HttpResponse("hello world")

注:视图函数要求必须接收一个HttpRequest对象作为参数并返回HttpResponse对象

URL配置: 建立URL与视图函数对应关系,相当于URL映射器,主要作用是根据浏览器(客户端)的URL,将HTTP请求重定向到对应的视图函数进行处理。

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    #创建url与视图函数的对应关系,path()第一个参数是url的HTTP请求,第二个参数是视图函数名
    path("admin/",admin.site.urls),  #django框架默认创建好的
    path("hello/",views.hello),
]

注:在使用django开发的具体步骤中,在创建完项目后会接着创建应用程序。所有的视图函数都是写在一个views.py文件中的,而这个views文件就是在程序目录下的。因此,导入视图函数应该是 from 程序目录名 import views。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值