django(Python Web 框架)_百度百科


本站和网页 https://baike.baidu.com/item/django/61531 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

django(Python Web 框架)_百度百科
百度首页
网页
新闻
贴吧
知道
网盘
图片
视频
地图
文库
百科
进入词条
全站搜索
帮助
清除历史记录关闭
近期有不法分子冒充百度百科官方人员,以删除词条为由威胁并敲诈相关企业。在此严正声明:百度百科是免费编辑平台,绝不存在收费代编服务,请勿上当受骗!详情>>
首页
历史上的今天
百科冷知识
图解百科
秒懂百科
懂啦
秒懂本尊答
秒懂大师说
秒懂看瓦特
秒懂五千年
秒懂全视界
特色百科
数字博物馆
非遗百科
恐龙百科
多肉百科
艺术百科
科学百科
用户
蝌蚪团
热词团
百科校园
分类达人
百科任务
百科商城
知识专题
权威合作
合作模式
常见问题
联系方式
下载百科APP
个人中心
django是一个多义词,请在下列义项上选择浏览(共3个义项)
展开
收起
添加义项
▪2012年昆汀·塔伦蒂诺执导的动作片
▪Python Web 框架
▪1966年电影
django
播报
编辑
锁定
讨论
上传视频
创建人物关系
特型编辑
Python Web 框架
收藏
查看我的收藏
有用+1
已投票
本词条由“科普中国”科学百科词条编写与应用工作项目
审核
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3. 0发布
[1]
中文名
Django
外文名
Django
编程语言
Python
特 性
ORM、URL分发系统、MTV
类 型
Web应用框架
运行环境
Apache,Nginx
目录
框架介绍
架构设计
设计哲学
工作机制
部署
文档
django框架介绍
编辑
播报
Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性
[2]
。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:用于创建模型的对象关系映射;为最终用户设计较好的管理界面;URL 设计;设计者友好的模板语言;缓存系统。
django logo
Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者
[3]
django架构设计
编辑
播报
Django已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架。MVC是Model、View、Controller三个单词的简写,分别代表模型、视图、控制器。Django其实也是一个MTV 的设计模式。MTV是Model、Template、View三个单词的简写,分别代表模型、模版、视图
[4]
。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:层次职责模型(Model),即数据存取层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。模板(Template),即表现层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。视图(View),即业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。从以上表述可以看出Django 视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板 仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。URLconf对于URL的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful的,或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作。在写程序的时候,只要调用相应的方法就行了,感觉很方便。程序员把控制层东西交给Django自动完成了。 只需要编写非常少的代码完成很多的事情。所以,它比MVC框架考虑的问题要深一步,因为我们程序员大都在写控制层的程序。这个工作交给了框架,仅需写很少的调用代码,大大提高了工作效率。
django设计哲学
编辑
播报
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。Django基于MVC的设计十分优美:对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。会话(session),用户登录与权限检查,快速开发用户会话功能。国际化:内置国际化系统,方便开发出多种语言的网站。自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统
django工作机制
编辑
播报
工作机制
1.用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls .py2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)4.最后该view函数负责返回一个HttpResponse对象。
django部署
编辑
播报
Django可以运行在Apache,Nginx上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql, Sqlite3,Oracle。Google App Engine也支持Django的某些部分,国内支持的平台有(SAE)Sina App Engine,(BAE)百度应用引擎。
django文档
编辑
播报
Django1.0 建立了强大完整的文档体系,,涵盖了Django的方方面面,并且适合各种水平的读者和开发者. 其中还包含若干个简单的示例,你可以跟随他们一步步体验Django的优美。Django版本主要由以下几部分组成:First steps,提供一个快速起步的教程,可以很快开始使用DjangoThe model layer,介绍Django的抽象模型层The view layer,介绍Django的视图层The template layer,介绍Django的模板层Forms,介绍Django提供的一系列用于帮助使用表单的工具The development process,介绍Django提供的一系列用于开发和测试的工具The admin,介绍Django提供的用于站点、内容管理的工具Security,介绍Django提供的用于站点安全控制的工具Internationalization and localization,介绍Django提供的用于全球化和本地化的工具Performance and optimization,介绍Django提供的用于性能和优化的方面的工具以及建议Python compatibility,介绍Django在不同Python环境下的兼容性(Jython和Python 3)Geographic framework,介绍Django提供的地理位置相关的工具Common web application tools,介绍Django提供的一些常用的Web应用程序工具(比如RSS等)Other core functionalities,介绍Django提供的其它重要工具(比如跳转、路由等等)The django open source project,介绍Django作为开源项目的一些内容,比如设计哲学,如何参与开发等等
[3]
词条图册
更多图册
参考资料
Django 3.0 Released
.django官网[引用日期2020-03-03]
韩璞主编;陈可副主编;刘黎明主审,OPENSTACK技术原理与实战,西安电子科技大学出版社,2016.04
Django官方网站
.Django官方网站[引用日期2013-07-05]
郭显娥.Django实现ORM模型数据查询优化[J].山西大同大学学报(自然科学版),2019,35(03):27-31+36.
.中国知网[引用日期2019-10-29]
图集
django的概述图(2张)
科普中国
致力于权威的科学传播
本词条认证专家为
闫晓东
副教授审核
中央民族大学信息工程学院
V百科往期回顾
权威合作编辑
“科普中国”科学百科词条编写与应用工作项目
“科普中国”是为我国科普信息化建设塑造的全...
什么是权威编辑
词条统计
浏览次数:次
编辑次数:95次历史版本
最近更新:
一个羽同学
(2021-12-13)
框架介绍
架构设计
设计哲学
工作机制
部署
文档
为您推荐广告
相关搜索
新手上路
成长任务
编辑入门
编辑规则
本人编辑
我有疑问
内容质疑
在线客服
官方贴吧
意见反馈
投诉建议
举报不良信息
未通过词条申诉
投诉侵权信息
封禁查询与解封
©2023 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号
京公网安备11000002000001号
进入词条
清除历史记录关闭
播报
编辑
讨论
收藏
登录
扫码下载百科APP
领取50财富值奖励
分享到微信朋友圈
打开微信“扫一扫”即可将网页分享至朋友圈
选择朗读音色
00:00
00:00