Django框架 1
2005年发布,采用python 语言编写的开源框架
早期的时候Django主做新闻和内容管理的
一个重量级的Python Web 框架,Django配备了常用的大部分组件
一.路由
- URL 解析
- 原生HTML模板系统
- 数据库连接和ORM数据库管理
- ORM模型系统
- 电子邮件发送系统
- 电子邮件发送系统
- CSRF 跨站点请求伪造的保护
- 表单验证
- 数据库后台管理系统
- 自带强大的后台管理功能
二.Django 的用途
- 网站后端开发
- 微信公众号后台开发
- 微信小程序后台开发
- 基于HTTP/HTTPS 协议的后台服务器开发
- 在线语音/图像识别服务器
- 在线第三方验证服务器等等
Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼者。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
三.为什么是Django?
使用Django,您可以在几个小时内将Web应用程序从概念到启动。Django处理了Web开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。
Django特点:
- 快:Django旨在帮助开发人员尽快将应用程序从概念到完成。
- 完美功能:Django包含许多附加功能,可用于处理常见的Web开发任务。如用户身份验证内容管理、后台管理等更多任务。
- 安心安全: Django 非常重视安全性,并帮助开发人员避免许多常见的安全错误,例如 SQL 注入、跨站点脚本、跨站点请求伪造和点击劫持。其用户身份验证系统提供了一种安全的方式来管理用户帐户和密码。
- 扩展性强: 互联网上一些最繁忙的站点使用 Django 的能力来快速灵活地扩展以满足最繁忙的流量需求。
- 令人难以置信的多才多艺: 公司、组织和政府已经使用 Django 构建了各种各样的东西——从内容管理系统到社交网络再到科学计算平台。
常用的Web应用工具:
1.身份验证
2.缓存
3.分页
4.静态文件管理
5.数据验证
6.表单验证
7.电子邮件发送系统
Django应用:
- 网站后端开发 :内容管理系统(博客)、企业内容系统(ERP&CRM、招聘管理)
- 微信公众号、小程序后台开发
- 在线语音、图像识别服务器
四.Django框架遵循的MVC设计。(MVT)
M:Model:模型, 和MVC中M功能相同,和数据库进行交互。
V:View:视图, 和MVC中C功能相同,接收请求,进行处理,与M和T进行交互,返回应答。
T:Template:模板, 和MVC中V功能相同,产生html页面。
五.MVC和MVT模式
- MVC最初是由施乐公司旗下的帕罗奥多研究中心中的一位研究人员给 smalltalk语言发明的一中软件设计模式。是一种程序设计模式,其核心思想是分工、解耦、让不同功能的代码块之间降低耦合,增强代码的可扩展性和可移植性。
- MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输出设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
- 现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) ,是一种典型并且应用广泛的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。
- MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
- 当前主流的开发语言如Java、PHP、Python中都有MVC框架。
- MVC的产生理念: 分工。让专门的人去做专门的事。
- MVC的核心思想: 解耦。
M:Model:模型, 和MVC中M功能相同,和数据库进行交互。
V:View:视图, 和MVC中C功能相同,接收请求,进行处理,与M和T进行交互,返回应答。
T:Template:模板, 和MVC中V功能相同,产生html页面。
Django的MVT模式
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,
view再调用相应的Model和Template。
六.Django框架图示
Django框架 1相关推荐
- Django框架之第二篇
Django框架之第二篇 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中). view ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
- Python技术学习之Django框架设计思想
Python是目前比较流行的计算机编程语言,据用丰富和强大的库,被称为胶水语言,能够把用其他语言制作的各种模块很轻松地联结在一起. Python功能强大,用途广泛,可广泛应用于云计算.web开发.科学 ...
- django框架使用mysql报错,及两种解决方法
1.django框架 settings.py文件中部分代码: DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqlite3',# ...
- django框架--路由系统
目录 一.路由系统理解 二.路由系统功能划分 三.路由表创建 创建工具 二级路由 路由别名 动态路由及重定向 四.自定义错误页面 五.图示路由系统在框架中的定位 六.路由系统的进阶想法 一.路由系统理 ...
- Python3搭建Django框架浅析
前言 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django 是一个开放源代码的 Web 应用框架,由 Pyt ...
- Django框架学习索引
索引目录 1.Django介绍与安装 2.Django流程及模式 3.Django基本配置 4.Django模板(Templages) 1.Django的介绍和安装 3.Django框架模式 4.数据 ...
- Django 框架入门篇(安装与创建项目)
什么是Django框架? 官方定义:Django是一个高级Python Web框架,鼓励快速开发和简洁实用的设计.它由经验丰富的开发人员构建,可以解决大部分Web开发的麻烦,因此您可以专注于编写应用程 ...
- 第九章 Django框架——csrf请求伪造和csrf_token使用
第九章 Django框架--csrf请求伪造和csrf_token使用 一.csrf请求伪造 二.csrf_token使用 三.简单的csrf_token应用 四.Ajax使用csrf_token 一 ...
- Python Django框架入门第一课
Python Django框架入门 1.Django简介 Django使用python开发的一个免费的Web框架,几乎囊括了Web应用的方方面面,用于快速搭建高性能.优雅的网站. 2.配Django运 ...
最新文章
- 程序员被辞 12 天,前领导要求回公司解释代码,结果懵了…
- AI智商评测标准专家研讨会邀请,2018年12月20日北京
- 《Ext JS权威指南》节选:在Visual Studio中实现Ext JS智能提示
- 【Android WebSocket】Android 端 WebSocket 基本用法 ( 下载 Java-WebSocket源码 | 导入 Java-WebSocket-1.5.2 工程作为依赖 )
- jsencrypt代码分析——openssl的rsa加密解密在js的实现
- python能做什么excel-python处理excel的优势是什么
- 深入游戏变速底层原理以及内核变速的实现
- Mybatis中取 Oracle自增序列 重复值
- 技术团队如何高效开会
- 计算机科学与技术培养计划,计算机科学与技术专业培养方案(2017版).PDF
- 台式机关闭计算机时没有待机,台式机设置休眠的方法
- 机会总是留给有准备的人 —— 从裁缝到码农
- 用C语言写一个图书管理系统大作业
- 深度学习与多层神经网络的区别
- 用python实现植物大战僵尸(游戏截图+动态演示+源码分享)
- 黄海导航软件测试,测试软件平台环境一览
- 基于vue3的Element-Plus问题汇总
- PMP项目管理学习心得
- 转载:如何更加科学理性地认识功率曲线
- com.oracle:ojdbc7:jar:12.1.0.2 was not found in