Django

Python编程语言的Web开发框架

Django/ˈæŋɡ/)是一个开放原始码Web应用框架,由Python写成。采用了MTV(model–template–views)的软件设计模式,即模型(Model),视图(View)和模板(Template)。它在开发初期用于管理劳伦斯出版集团英语Lawrence Journal-World旗下的一些以新闻为主的网站。Django于2005年7月在BSD许可证下发布,它的名字来源于比利时吉普赛爵士吉他手金格·莱恩哈特

Django
默认的Django页面
默认的Django页面
原作者劳伦斯出版集团英语Lawrence Journal-World
开发者Django软件基金会英语Django Software Foundation
首次发布2005年7月21日 (2005-07-21)
当前版本
  • 5.1.3(2024年11月5日;稳定版本)[1]
编辑维基数据链接
原始码库github.com/django/django
编程语言Python
类型Web应用框架
许可协议BSD许可证
网站www.djangoproject.com

Django的主要目标是简化数据库驱动的网站的开发。Django注重组件的重用性和“可插拔性”,敏捷开发DRY法则(Don't Repeat Yourself)。在Django中普遍使用的语言是Python,甚至包括配置文件和数据模型。

Django于2008年6月17日正式成立基金会。

组件

编辑

Django框架的核心包括:一个对象关系映射器,用作数据模型(以Python的形式定义)和关系型数据库间的介质;一个基于正则表达式URL分发器;一个视图系统,用于处理请求;以及一个模板系统。

核心框架中还包括:

  • 一个轻量级的、独立的Web伺服器,用于开发和测试。
  • 一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。
  • 一个缓存框架,并有几种缓存方式可供选择。
  • 中间件支持,允许对请求处理的各个阶段进行干涉。
  • 内建的分发系统允许应用程式中的组件采用预定义的信号进行相互间的通信。
  • 一个序列化系统,能够生成或读取采用XMLJSON表示的Django模型实例。
  • 一个用于扩展模板引擎的能力的系统。

内建应用

编辑

Django 包含了很多应用在它的contrib包中,这些包括:

  • 一个可扩展的认证系统
  • 动态站点管理页面
  • 一组产生RSS和Atom的工具
  • 一个灵活的评论系统
  • 产生Google站点地图(Google Sitemaps)的工具
  • 防止跨站请求伪造(cross-site request forgery)的工具
  • 一套支持轻量级标记语言(Textile和Markdown)的模板库
  • 一套协助创建地理资讯系统(GIS)的基础框架

服务的部署

编辑

Django可以运行在启用了mod_pythonApache 2上,或是任何WSGI兼容的Web伺服器。Django也有启动FastCGI服务的能力,因此能够应用于任何支持FastCGI的机器上。

下列数据库引擎被Django官方支持[2]

Microsoft SQL Server的适配器正在开发中,处于试验阶段。(注:SQL Server的支持在1.0版本中已经被完全去除)

自Django 1.0起,已经可以利用Jython运行在任何J2EE伺服器。除CPython外,Django目前官方支持使用Jython 2.7b2运行,但不保证与CPython上的行为完全兼容,并应预期一些功能(如使用Pillow的部分)无法使用。[3]

参考资料

编辑
  1. ^ Release 5.1.3. 2024年11月5日 [2024年11月13日]. 
  2. ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始内容存档于2021-05-30) (中文(简体)). 
  3. ^ Running Django on Jython. [2016-08-07]. (原始内容存档于2016-08-11). 

外部链接

编辑