Django第二部分

MVC设计模式

​ MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。而Django是采用MVC模式的MTV框架。

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

Model(模型)

是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)

是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)

是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

这里写图片描述

​ Django的MTV模式本质上与MVC模式没有什么差别,也是各组件指尖为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

  • Model(模型)负责业务对象与数据库的对象(ORM)
  • Template(模版)负责如何把页面展示给用户
  • View(视图 )负责业务逻辑,并在适当的时候调用Model和Template

这里写图片描述

创建model

在这里模拟一个简单的项目场景来建立一张E-R实体联系图。学生选课系统

student表

学生, 字段有id,s_name,s_sex,s_birth, g_id外键关联班级表

grade表

班级, 字段有id,g_name,

course表

课程, 字段有Id,c_name, student表与该表是多对多关系

from django.db import models
import datetime


class Grade(models.Model):
    g_name = models.CharField(max_length=10)  # 班级名称

    class Meta:
        db_table = 'grade'


class Course(models.Model):
    c_name = models.CharField(max_length=10)  # 课程名称

    class Meta:
        db_table = 'course'


class Student(models.Model):
    s_name = models.CharField(max_length=10)  # 学生名称
    s_sex = models.BooleanField(default=True)  # 性别
    s_birth =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值