第七章 Django框架

7.1. MVC和MTV

  • MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)视图(View)控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。

    • controller:调度和传递指令

M: model  模型

V:view   视图   - HTML 

C: controller  控制器   ——路由 传递指令  业务逻辑

 

  • Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。

  • Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。

7.2. Django的MTV模式

  1. Model(模型):负责业务对象与数据库的对象(ORM)

  2. Template(模版):负责如何把页面展示给用户

  3. View(视图):负责业务逻辑,并在适当的时候调用Model和Template

  • 此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

M: model  模型 ORM

T: tempalte  模板  - HTML

V:view   业务逻辑,在适当的时候会调用model和template

还有url分发器

 

7.3. Model

1. model简介

  • 在Django中model是你数据的单一、明确的信息来源。它包含了你存储的数据的重要字段和行为。通常,一个模型(model)映射到一个数据库表。

2. 基本情况:

  • 每个模型都是一个Python类,它是django.db.models.Model的子类。

  • 模型的每个属性都代表一个数据库字段。

  • 综上所述,Django为您提供了一个自动生成的数据库访问API

Note2(4)

  • model一些说明

CREATE TABLE person (
    "id" serial NOT NULL PRIMARY KEY,
    "first_name" varchar(30) NOT NULL,
    "last_name" varchar(30) NOT NULL
);
  1. 表app名称_类名(小写)的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为数据库时。

  2. id字段是自动添加的,如果你想要指定自定义主键,只需在其中一个字段中指定 primary_key=True 即可。如果Django发现你已经明确地设置了Field.primary_key,它将不会添加自动ID列。

  3. 本示例中的CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意的是,Django会根据配置文件中指定的数据库类型来生成相应的SQL语句。

  4. Django支持MySQL5.5及更高版本。

 

posted @ 2020-05-20 10:25  炜琴清  阅读(94)  评论(0编辑  收藏  举报