Python Django框架设计模式详解
目录
- MVC设计模式
- MTV设计模式
- 总结
MVC设计模式
MVC (Model-View-Controller) 是软件工程中常用的软件架构模式,它是一种分离业务逻辑与显示界面的设计方法。它把软件系统分为三个基本部分:
M
:业务模型(Model),代表一个储存数据的对象
V
:视图(View),代表模型包含的数据的可视化
C
:控制器(Controller),作用于模型于视图中,将数据流向模型对象,并在数据化时更新视图。
MTV设计模式
Django中的MTV模式本质上和MVC是一样的,只是定义不同,分为如下三部分:
M
:模型(Model),负责与数据库进行交互与处理
T
:模板(Template),负责构造要返回的html页面
V
:视图(View),负责接收请求进行业务逻辑,返回响应
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
详解Django的MVT设计模式
经典的MVC设计模式及其优点 MVC即 Model-View-Controller(模型-视图-控制器) ,是经典的软件开发设计模式. **Model (模型) **: 简而言之即数据模型.模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系.通常模型包括了数据表的各个字段(比如人的年龄和出生日期)和相互关系(单对单,单对多关系等).Web开发框架会根据模型的定义来自动生成数据表. View (视图): 主要用于显示数据,用来展示用户可以看到的内容或提供用户可以输入或操作的
-
Django框架视图函数设计示例
本文实例讲述了Django框架视图函数.分享给大家供大家参考,具体如下: 视图函数即为处理HTTP请求的python函数.一般情况下,视图函数的功能是通过模型层对象处理数据,然后通过下面三种方式返回HTTP Response: 直接构造HTTP BODY 用数据渲染HTML模板文件 如果有逻辑错误就返回HTTP错误或者其他状态! 1.直接构造HTML页面 对于简单的页面,可以直接在视图函数汇总构造返回给客户端的字符串,通过HttpResponse函数封装后返回: #views.py from d
-
python设计微型小说网站(基于Django+Bootstrap框架)
一.项目背景: 为了回顾关于django的文件上传和分页功能,打算写一个微型的小说网站练练手.花了一个下午的时间,写了个小项目,发现其中其实遇到了许多问题,不过大部分通过debug之后就解决了,其他部分通过阅读了Pagination插件以及Bootstrap-FileInput插件的官方文档. 二.详细设计: 省去小说网站的用户模块的功能,小说网站主要的功能就是上传文件,在线阅读小说.针对这两个功能, 主要用到dajngo内置的Pagination模块,以及选择一个上传文件插件即可.因为用的是B
-
Python Django框架设计模式详解
目录 MVC设计模式 MTV设计模式 总结 MVC设计模式 MVC (Model-View-Controller) 是软件工程中常用的软件架构模式,它是一种分离业务逻辑与显示界面的设计方法.它把软件系统分为三个基本部分: M:业务模型(Model),代表一个储存数据的对象 V:视图(View),代表模型包含的数据的可视化 C:控制器(Controller),作用于模型于视图中,将数据流向模型对象,并在数据化时更新视图. MTV设计模式 Django中的MTV模式本质上和MVC是一样的,只是定义不
-
Python Django模板系统详解
目录 设置模板路径 模板变量 引用静态文件 总结 设置模板路径 在django项目下创建templats文件来存放html文件 为了减少模板加载调用过程及模板本身的冗余代码,Django 提供了一种使用方便且功能强大的 API ,当使用模板加载API时,需要将模板路径告诉框架,在项目settings.py中设置模板路径,如图: settings.py中的BASE_DIR为项目路径. 在TEMPLATES中的BIRS来设置模板路径 templates下编写index.html写入如下代码: !DO
-
Python django导出excel详解
目录 一.基础环境 二.需求 三.功能实现 四.源码 一.序化类实现 二.手动转换外键实现 总结 django restframework 导入excel内容,可以查看另外一篇文章 一.基础环境 web架构:前后端分离,前端使用vue,后端使用django 的rest framework django版本3.2 django-excel 版本0.0.10 djangorestframework版本3.12.4 二.需求 界面导出excel数据内容 导入model包含外键类型 三.功能实现 1.不
-
JavaScript框架设计模式详解
目录 mvc mvp mvvm vue的来源 spa mpa createElement class 总结 mvc Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO.它也可以带有逻辑,在数据变化时更新控制器. View(视图) - 视图代表模型包含的数据的可视化. Controller(控制器) - 控制器作用于模型和视图上.它控制数据流向模型对象,并在数据变化时更新视图.它使视图与模型分离开. 是单向的 mvp mvp的核心在于presenter层,该层的核心是对于do
-
Python django框架输入汉字,数字,字符生成二维码实现详解
这篇文章主要介绍了Python django框架输入汉字,数字,字符转成二维码实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 模块必备:Python环境 + pillow + qrcode 模块 核心代码<br>import qrcode qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=20, bord
-
Python Django框架中表单的用法详解
目录 文件上传 Form表单 表单字段 字段参数 widget参数 表单的验证 表单模型文件上传例子 模型表单 AJAX Django保证表单的正确显示需要添加CSRF(防止网站跨站请求伪造而默认开启的一种保护方式),在<form></form>之间添加 {% csrf_token %} 在项目settings.py中 * ‘django.middleware.csrf.CsrfViewMiddleware’, * 引入,如果没有此中间件,手动添加. 文件上传 首次打开路径是GET
-
Python django框架 web端视频加密的实例详解
视频加密流程图: 后端获取保利威的视频播放授权token,提供接口api给前端 参考文档:http://dev.polyv.net/2019/videoproduct/v-api/v-api-play/create-playsafe-token/ 在utils下创建polyv.py,编写token生成工具函数,path:utils/polyv.py utils 是多个模块的公共函数库的文件夹里面存放自己开发的组件 from django.conf import settings import t
-
Python后台开发Django的教程详解(启动)
Django版本为:2.1.7 Python的web框架,MTV思想 MVC Model(模板文件,数据库操作) view(视图模板文件 )controller(业务处理) MTV Model(模板文件,数据库操作) template(视图模板文件) view(业务处理) 安装及访问 安装 pip3 install django 创建目录 如win:在需要创建目录的文件夹按住shift+鼠标右键打开命令行,创建dongjg工程目录 C:\Users\东东\AppData\Local\Pro
-
Python中的Django基本命令实例详解
一.新建项目 $django-admin.py startproject project_name # 特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试 注意 project_name 是自己的项目名称,需要为合法的 Python 包名,如不能为 1a 或 a-b. 二.新建APP 要先进入项目目录下,cd project_name 然后执行下面的命令: $ python manage.py startapp app_nam
-
python+appium+yaml移动端自动化测试框架实现详解
结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下. 不想看文章得可以直接去Github,欢迎拍砖 大致结构如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 logs 存放日志 testcase 存放测试用例runtest.py
随机推荐
- Windows Powershell条件表达式之条件操作符
- jQuery EasyUI 中文API Layout(Tabs)
- javascript滚轮事件基础实例讲解(37)
- js随机生成网页背景颜色的方法
- php数据访问之增删改查操作
- JavaScript 封装Ajax传递的数据代码
- php 实现进制相互转换
- Android入门之TableLayout应用解析(一)
- php采集速度探究总结(原创)
- js is_valid_filename验证文件名的函数
- 12步入门Python中的decorator装饰器使用方法
- C#生成指定范围内的不重复随机数
- Android 中倒计时验证两种常用方式实例详解
- 微信小程序 UI与容器组件总结
- Angular5.0.0新特性
- php实现处理输入转义字符的代码
- Android支付宝和微信支付集成
- 利用C语言替换文件中某一行的方法
- C#运算符重载用法实例分析
- Android完整Socket解决方案