Django

Django
Django logo.svg
预设的Django页面
预设的Django页面
原作者 劳伦斯出版集团
开发者 Django软体基金会
初始版本 2005年7月21日
稳定版本
4.0.4[1]在维基数据编辑(2022年4月11日,45天前)
原始码库 github.com/django/django
程式语言 Python
类型 Web应用框架
授权条款 BSD授权条款
网站 www.djangoproject.com

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

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 4.0.4. 2022年4月11日 [2022年4月13日]. 
  2. ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始内容存档于2021-05-30) (中文(简体)). 
  3. ^ Running Django on Jython. [2016-08-07]. (原始内容存档于2016-08-11). 

外部连结

#