django】【Python基础】django框架设计模式是什么

2020-12-15 10:48发布

8条回答
芒果
2楼 · 2020-12-15 14:20

MVC模式

MVC将应用程序分解为三个组成部分:mode(模型)、view(视图)、control(控制器),其中:

  • M 管理应用程序的状态(通常存储到数据库中),并榆树改变状态的行为(或者叫“业务规则”)

  • C 接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据,控制器将“模型”和“视图”隔离,并成为二者之间的纽带

  • V 负责把数据格式化后呈现给用户。

MTV

Django也是一个MVC框架,但在Django中,控制器接受用户输入的部分由框架自行处理,所以Django中更关注的是视图(Views),称为MTV模式:

  • M 代表模型(Model),数据存取层,该层处理与数据相关的所有事物:如何存取、包含哪些行为以及数据之间的关系等

  • T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面和其他类型的文档中进行显示

  • V 代表视图(View),即业务逻辑层。该层包含存取模型及调取恰当模型的相关逻辑,可看作模板与模型之间的桥梁

HARPPRTのIT
3楼 · 2020-12-15 15:28

Django 是用 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站。

Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。

Django 提供了通用 Web 开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。Django 通过 DRY(Don't Repeat Yourself,不要重复自己)的理念来鼓励快速开发。

哈哈哈
4楼 · 2020-12-15 16:38

1.用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls .py工作机制工作机制

2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。

3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)

4.最后该view函数负责返回一个HttpResponse对象。


1234
5楼 · 2020-12-15 17:58

Django遵循MVT模式


MVT是一种软件设计模式。它是模型视图和模板三个重要组件的集合。


模型(MVT):模型有助于处理数据库,它是定义数据库的后端。

模板(Model):模板用来处理用户界面部分。

视图(View):视图用于执行业务逻辑并与模型交互,取得数据呈现模板。


用户通过浏览器发送请求后,Django充当控制器,检查URL资源是否可用,如果URL已经映射完成,则会调用视图显示。


视图同模型和模板进行交互,通过模型从数据库中检索数据,对其格式化,然后通过模板呈现响应。


浅浅77
6楼 · 2020-12-16 09:30

Django的框架设计模式

  • MVC 设计模式

    • M 模型层(Model), 主要用于对数据库层的封装

    • V 视图层(View), 用于向用户展示结果

    • C 控制(Controller ,用于处理请求、获取数据、返回结果(重要)

    • MVC 代表 Model-View-Controller(模型-视图-控制器) 模式。

    • 作用: 降低模块间的耦合度(解耦)

    • MVC

    • MVC模式如图:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GM4DR1bQ-1579082888009)(images/mvc.png)]

  • MTV 模式
    MTV 代表 Model-Template-View(模型-模板-视图) 模式。这种模式用于应用程序的分层开发

    • M – 模型层(Model) 负责与数据库交互

    • T – 模板层(Template) 负责呈现内容到浏览器

    • V – 视图层(View) 是核心,负责接收请求、获取数据、返回结果

    • 降低模块间的耦合度(解耦)

    • 作用:

    • MTV

    • MTV模式如图:
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uh0E5o1j-1579082888010)(images/mtv.png)]

三岁奶猫
7楼 · 2020-12-16 10:35

Django 是用 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站。

Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。

Django 提供了通用 Web 开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。Django 通过 DRY(Don't Repeat Yourself,不要重复自己)的理念来鼓励快速开发。

1234567
8楼 · 2020-12-17 10:32

MVC模式

MVC将应用程序分解为三个组成部分:mode(模型)、view(视图)、control(控制器),其中:

M 管理应用程序的状态(通常存储到数据库中),并榆树改变状态的行为(或者叫“业务规则”)

C 接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据,控制器将“模型”和“视图”隔离,并成为二者之间的纽带

V 负责把数据格式化后呈现给用户。

MTV

Django也是一个MVC框架,但在Django中,控制器接受用户输入的部分由框架自行处理,所以Django中更关注的是视图(Views),称为MTV模式:

M 代表模型(Model),数据存取层,该层处理与数据相关的所有事物:如何存取、包含哪些行为以及数据之间的关系等

T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面和其他类型的文档中进行显示

V 代表视图(View),即业务逻辑层。该层包含存取模型及调取恰当模型的相关逻辑,可看作模板与模型之间的桥梁


相关问题推荐

  • 回答 19

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比...

  • 回答 1

    使用类似pymysql的第三方模块,在Python代码中嵌入SQL语句,可以直接访问数据库。对于轻量级的SQLite,Django和Python原生支持,连第三方模块都不需要就可以访问。

  • 回答 3
    已采纳

    FlaskFlask确实很轻,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库入门简单,即便没有多...

  • 回答 4
    已采纳

    打开 Linux 或 MacOS 的 Terminal (终端)直接在 终端中输入windows 快捷键 win + R,输入 cmd,直接在 cmd 上输入1、新建一个项目django-admin.py startproject 项目名1以下命令要先进入项目目录下才能执行:cd 项目名2、新建app (一个项目可以有多个app...

  • 回答 5

    Django的默认数据库是sqlite3

  • 回答 3

    Django中避免sql注入的方法:1、对用户的输入进行校验;2、不要使用动态拼装sql;3、不要把机密信息直接存放;4、应用的异常信息应该给出尽可能少的提示;5、利用Dajngo的ORM来有效避免sql注入。什么是SQL注入?所谓SQL注入,就是通过把SQL命令插入到Web表单...

  • 回答 1

    中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能...

  • 回答 1

    项目主要页面介绍1.首页2.注册3.登录2.项目开发模式开发模式前后端不分离后端框架Django+Jinja2模板引擎前端框架Vue.js3.准备项目代码仓库源码托管网站1、码云(https://gitee.com/)2、创建源码远程仓库:website3、克隆项目代码仓库新建文件夹下载githttps:...

  • 回答 3

    from django.http import FileResponsefrom django.utils.encoding import escape_uri_path def build_download_response(filepath, filename):        构建下载文件的文件头    :param filepath: 文件路径    :param filenam...

  • 回答 2

    Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出...

  • 回答 10

    django现在在生产环境用得还是比较多的,但是只能说数量比较多,质量很差;意思就是,越大型的项目越不会选django,因为它封装得太好,不够灵活,一般快速上马项目可以,但是长期维护下来很难受一般如果有开发团队的都选flask和tornado...

  • 回答 2

    什么是 middleware什么时候使用 middleware我们写 middleware 必须要记住的东西写一些 middlewares 来理解中间件的工作过程和要点什么是 middlewareMiddlewares 是修改 Django request 或者 response 对象的钩子. 下面是Django 文档中的一段描述。Middlew...

  • 回答 2

    客户端与服务端交互(知识点)浏览器就是客户端服务端开放端口和连接即可客户端服务器代码实现# -*- coding: utf-8 -*-__author__ = 'HeYang'__time__ = '2018/6/7 2:57'import socket sock = socket.socket()sock.bind(('1...

  • 回答 11

    Django中间件有很多,入session、csrf、contexttype等,能力强的朋友还可以自己写中间件。

  • 回答 4

    django中间件主要有两个作用1·中间件是介于request 和 response 处理之间的一道处理过程,用于全局范围改变Django的输入和输出,简单的来说中间件是帮助我们在视图函数指向之前和执行之后都可以做一些额外的操作2·Django项目中默认启用了csrf保护,每次请求...

  • 回答 7

    中间件 Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。中间件Django中的中间件是一个轻量级、底层的插件系统...

没有解决我的问题,去提问