贵州建设厅造价信息网站,龙岗网站建设费用,多语种网站后台,大连地区建设网站Django 是基于python 的 Web 开发框架. nsbp; Web开发指的是开发基于B/S 架构, 通过前后端的配合, 将后台服务器上的数据在浏览器上展现给前台用户的应用. nsbp; 在早期, 没有Web框架的时候, 使用 Python CGI 脚本显示数据库中的数据. Web框架致力于解决一些…Django 是基于python 的 Web 开发框架. nsbp; Web开发指的是开发基于B/S 架构, 通过前后端的配合, 将后台服务器上的数据在浏览器上展现给前台用户的应用. nsbp; 在早期, 没有Web框架的时候, 使用 Python CGI 脚本显示数据库中的数据. Web框架致力于解决一些共同的问题, 为Web 应用提供通用的架构, 让用户专注于网站应用业务逻辑的开发, 而无需处理网络应用底层的协议, 线程, 进程等方面的问题, 从而大大提高开发者的效率和Web应用程序的质量. 一般Web框架的架构是这样的: 大多数基于Python的web框架如Django、Tornado、Flask、Webpy都是在这个范围内进行增删裁剪。例如Tornado用的是自己的异步非阻塞“WSGI”网关接口Flask则只提供了最精简和基本的框架Django则是直接使用了现成的WSGI并实现了大部分功能提供了大量的应用工具。
Django Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django只要很少的代码开发人员就可以轻松地完成一个正式网站所需要的大部分内容并进一步开发出全功能的Web服务。 Django本身基于MVC架构即Model模型View视图 Controller控制器设计模式因此天然具有MVC的出色基因开发快捷、部署方便、可重用性高、维护成本低等优点。 Django诞生于2003年2006年加入了BSD许可证成为开源的Web框架。Django这一词语是根据比利时的爵士音乐家Django Reinhardt命名的含有希望Django能够优雅地演奏开发各种乐曲Web应用的美好含义和著名的电影《姜戈的解放》无关。 Django是由美国堪萨斯Kansas州Lawrence城中的一个新闻开发小组开发出来的。当时Lawrence Journal-World报纸的程序员Adrian Holovaty和Simon Willison在用 Python 编写Web新闻网站他们的 World Online小组制作并维护了当地的几个新闻站点。新闻界独有的特点是迭代迅速从开发到上线通常只有几天或几个小时的时间。为了能在截止时间前完成工作Adrian和Simon不得不开发一种通用的高效的网络应用开发框架也就是Django。 2005年的夏天当这个框架开发完成时它已经用来制作了很多个World Online的站点。不久小组中的Jacob Kaplan-Moss决定把这个框架发布为一个开源软件。短短数年Django项目就有了数以万计的用户和贡献者在世界范围内广泛传播。 原来的World Online的两个开发者Adrian and Jacob仍然掌握着Django但是其发展方向受社区团队的影响更大。
Django 具有以下特点
Django是一个全栈Web框架。所谓全栈框架是指除了封装网络和线程操作还提供HTTP请求和响应、数据库读写管理、HTML模板渲染等一系列功能的框架。你可以不太准确地理解为全栈工程师包办了前后端和数据库访问的所有开发工作整个网站都是一个人搭建的。功能完善、要素齐全。该有的、可以没有的都有常用的、不常用的工具都提供。Django提供了大量的特性和工具无须你自己定义、组合、增删及修改。但是在有些人眼里这被认为是臃肿不够灵活发挥不了程序员的能动性。一体机和DIY你更喜欢哪个-完善的文档。经过长期的发展和完善Django有广泛的实践经验和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。强大的数据库访问API。Django的Model层自带数据库ORM组件开发者无须学习其他数据库访问技术例如SQLALchemy。当然你也可以使用SQLALchemy甚至不使用ORM组件。灵活的路由系统。Django具备路由转发、正则表达式、命名空间、URL反向解析等功能。丰富的Template模板功能Django自带类似 jinjia 的模板语言不但原生功能丰富还可以自定义模板标签和过滤器。并且以类似Python的调用机制和视图默契配合。自带后台管理应用admin只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。这是Django最受欢迎的功能。完整的错误信息提示在开发调试过程中如果出现运行错误或者异常Django可以提供非常完整的错误信息帮助定位问题。
MVC及MTV设计模式 在目前基于Python语言的几十个Web开发框架中几乎所有的全栈框架都强制或引导开发者使用MVC设计模式。
MVC设计模式 最早由Trygve Teenskaug在1978年提出上世纪80年代是程序语言Smalltalk的一种内部架构。后来MVC被其他领域借鉴成为了软件工程中的一种通用架构模式。MVC把Web框架分为三个基础部分
模型(Model)用于封装与应用程序的业务逻辑相关的数据及对数据的处理方法是Web应用程序中用于处理应用程序的数据逻辑的部分Model只提供功能性的接口通过这些接口可以获取Model的所有功能。白话说这个模块就是业务逻辑和数据库的交互层定义了数据表。 视图(View)负责数据的显示和呈现是对用户的直接输出。 控制器(Controller)负责从用户端收集用户的输入可以看成提供View的反向功能。 这三个部分互相独立但又相互联系使得改进和升级界面及用户交互流程在Web开发过程任务分配时不需要重写业务逻辑及数据访问代码。 MVC在Python之外的语言中也有广泛应用例如VC的MFCJava的Structs及Spring、C#的.NET开发框架都非常有名。
MTV设计 MTV和MVC本质上是一样的。 Django对传统的MVC设计模式进行了修改将视图分成View模块和Template模块两部分将动态的逻辑处理与静态的页面展示分离开。而Model采用了ORM技术将关系型数据库表抽象成面向对象的Python类将数据库的表操作转换成Python的类操作避免了编写复杂的SQL语句。 模型(Model)和MVC中的定义一样 模板(Template)将模型数据与HTML页面结合起来的引擎 视图(View)负责实际的业务逻辑实现
Django的MTV模型组织可参考下图所示