您的位置:首页 > 编程语言 > Go语言

7.17 Django学习之模型

2015-07-17 10:27 411 查看
Django 数据驱动 Web 应用的总体设计

MVC模式:Model-View-Controller,软件架构中把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念

M:Model ,代表数据存取层,由django数据库层处理;

V:View ,代表的是系统中选择显示什么和怎么显示的部分,由视图和模板处理;

C:Controller, 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分;根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的Python 函数。一般由Django框架自行处理。

由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架 。

M: 数据存取层,处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

T:表现层,该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

V :业务逻辑层,该层包含存取模型及调取恰当模板的相关逻辑, 可看作模型与模板之间的桥梁。

 

Django app

Django app:个包含模型,视图和Django代码,并且形式为独立Python包的完整Django应用。

project 与app的区别:

project:1)包含多个Django app及对它们的配置。
2)技术上,project的作用是提供配置文件,如:哪里定义数据库连接信息, 安装的app列表,TEMPLATE_DIRS ,等等。

app:     1) 一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。

                2) 例如,Django本身内建有一些app,例如注释系统和自动管理界面。 app的一个关键点是它们是很容易移植到其他project和被多个project复用。

系统对app有一个约定: 若使用了Django的数据库层(模型),必须创建一个Django app,模型必须存放在apps中。

python manage.py startapp books

此命令在 mysite 的目录里创建了一个 books 目录。

books/

__init__.py

models.py

tests.py

views.py

Django模型是用Python代码形式表述的数据在数据库中的定义。且包含了比数据库字段定义更多的含义。 Django用模型在后台执行SQL代码并把结果用Python的数据结构来描述。 Django也使用模型来呈现SQL无法处理的高级概念。

每个模型相当于单个数据库表,每个属性也是这个表中的一个字段。

“每个数据库表对应一个类”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: