zoukankan      html  css  js  c++  java
  • python day100-[day41-45]-1 web-django 简介

    MVC和MTV模式

    20200313


    参考 https://www.cnblogs.com/zeug/p/10549955.html

    pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

    • Django
    Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计.
    Django的主要目:简便、快速的开发「数据库」驱动的网站.
    
    Django原生提供了众多的功能组件,让开发更简便快速。
    提供项目工程管理 自动化脚本工具
    数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
    模板
    表单
    Admin管理站点
    文件管理
    认证权限
    session机制
    缓存
    

    • 著名的MVC模式

    1.所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。
    2.模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

    M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
    V全拼为View,用于封装结果,生成页面展示的html内容。
    C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。


    • Django的MTV模式

    本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:
    1.Model(模型):负责业务对象与数据库的对象(ORM)
    2.Template(模版):负责如何把页面展示给用户
    3.View(视图):负责业务逻辑,并在适当的时候调用Model和Template
    4.此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

    M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
    V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
    T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
    注:差异就在于黑线黑箭头标识出来的部分


    • ORM 框架简介

    参考 https://www.cnblogs.com/wisdo/p/4279091.html·

    对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。
    面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。
    对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存>在,主要实现程序对象到关系数据库数据的映射。

    ORM方法论基于三个核心原则:

    简单性:以最基本的形式建模数据。
    传达性:数据库结构被任何人都能理解的语言文档化。
    精确性:基于数据模型创建正确标准化了的结构。

    一般的ORM包括以下四部分:  

    一个对持久类对象进行CRUD操作的API;  
    一个语言或API用来规定与类和类属性相关的查询;  
    一个规定mapping metadata的工具;  
    一种技术可以让ORM的实现同事务对象一起进行dirty checking, lazy association fetching以及其他的优化操作。


  • 相关阅读:
    javascript基础必学点
    怎样学习jQuery
    新手如何学习jQuery
    如何安装软件
    最近遇到的C++数字和字符串的转换问题
    二叉搜索树
    C++类型的转换
    希尔排序
    C语言里字符串的解析
    remove_if的问题
  • 原文地址:https://www.cnblogs.com/damahuhu/p/12486947.html
Copyright © 2011-2022 走看看