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无法处理的高级概念。
每个模型相当于单个数据库表,每个属性也是这个表中的一个字段。
“每个数据库表对应一个类”
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无法处理的高级概念。
每个模型相当于单个数据库表,每个属性也是这个表中的一个字段。
“每个数据库表对应一个类”
相关文章推荐
- Windows下安装Django
- 江苏电信欢go重新定义宽带标准
- 系统进程 zygote(二)—— zygote.rc 脚本
- 图片的等比缩放和Logo水印
- Django中对数据查询结果进行排序的方法
- Django框架中数据的连锁查询和限制返回数据的方法
- Django中更新多个对象数据与删除对象的方法
- 改进Django中的表单的简单方法
- 简单解析Django框架中的表单验证
- 在Django框架中编写Contact表单的教程
- OC中protocol、category和继承的区别
- 036.Goto 代替 Break 结束循环
- django1.8.3错误案例及解决方法
- 如何获取google Api Key
- Project Euler:Problem 68 Magic 5-gon ring
- [Mechine Learning & Algorithm] 集成学习方法——Bagging和 Boosting
- HDU 1533 Going Home【最小费用流|KM算法】
- supervisor运行golang守护进程
- Algorithms—141.Linked List Cycle
- Hard to say good bye