Django

Django
Django logo.svg
預設的Django頁面
預設的Django頁面
原作者劳伦斯出版集团英语Lawrence Journal-World
開發者Django軟體基金會英语Django Software Foundation
首次发布2005年7月21日 (2005-07-21)
目前版本
  • 4.1.5 (2023年1月2日)[1]
編輯維基數據鏈接
源代码库github.com/django/django
编程语言Python
类型Web应用框架
许可协议BSD许可证
网站www.djangoproject.com

Django是一个开放源代码Web应用框架,由Python写成。采用了MTV(model–template–views)的软件设计模式,即模型(Model),视图(View)和模板(Template)。它在开发初期用于管理劳伦斯出版集团英语Lawrence Journal-World旗下的一些以新闻为主的网站。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. ^ 1.0 1.1 Release 4.1.5. 2023年1月2日 [2023年1月8日]. 
  2. ^ 数据库 | Django 文档 | Django. [2021-05-30]. (原始内容存档于2021-05-30) (中文(简体)). 
  3. ^ Running Django on Jython. [2016-08-07]. (原始内容存档于2016-08-11). 

外部链接

  • 官方网站 在维基数据上编辑此内容
  • Django的模块列表(页面存档备份,存于互联网档案馆(英文)
  • 使用Django构建的网站列表(页面存档备份,存于互联网档案馆(英文)
C++
  • CppCMS英语CppCMS
  • Wt英语Wt (web toolkit)
CLI
  • ASP.NET
    • Core
    • AJAX
    • 动态数据英语ASP.NET Dynamic Data
    • MVC
    • Razor英语ASP.NET Razor
    • Web Forms
  • DNN英语DotNetNuke
  • BFC英语Base One Foundation Component Library
  • MonoRail英语MonoRail (software)
  • OpenRasta英语OpenRasta
  • Umbraco
ColdFusion
  • CFWheels
  • ColdBox Platform英语ColdBox Platform
  • ColdSpring英语ColdSpring Framework
  • Fusebox英语Fusebox (programming)
  • Mach-II英语Mach-II
  • Model-Glue英语Model-Glue
Common Lisp
  • Caveman2英语Caveman2
  • CL-HTTP英语CL-HTTP
  • UnCommon Web英语UnCommon Web
  • Weblocks
D
  • Vibe.d英语Vibe.d
Haskell
  • Happstack英语Happstack
  • Yesod英语Yesod (web framework)
  • Snap英语Snap (web framework)
Java
  • AppFuse英语AppFuse
  • Flexive英语Flexive
  • Grails英语Grails (framework)
  • GWT
  • ICEfaces英语ICEfaces
  • ItsNat英语ItsNat
  • JavaServer Faces
  • JHipster英语JHipster
  • Jspx英语Jspx-bay
  • JWt英语JWt (Java web toolkit)
  • OpenXava英语OpenXava
  • Play
  • Reasonable Server Faces英语Reasonable Server Faces
  • Remote Application Platform英语Remote Application Platform
  • RIFE英语RIFE
  • Seam英语JBoss Seam
  • Spring
  • Stripes英语Stripes (framework)
  • Struts
  • Tapestry
  • Vaadin英语Vaadin
  • Vert.x
  • WebWork英语WebWork
  • Wicket
  • WaveMaker英语WaveMaker
  • ZK
JavaScript
  • Ample SDK英语Ample SDK
  • Angular英语Angular (application platform)/AngularJS
  • Backbone.js
  • Chaplin.js英语Chaplin.js
  • Closure英语Google Closure Tools
  • Dojo Toolkit
  • Ember.js
  • Extjs
  • JQuery
  • Meteor英语Meteor (web framework)
  • MooTools英语MooTools
  • Node.js
  • Prototype
  • React
  • Rico
  • script.aculo.us英语script.aculo.us
  • Sencha Touch英语Sencha Touch
  • SproutCore英语SproutCore
  • Vue.js
  • Wakanda英语Wakanda (software)
Perl
  • Catalyst
  • Dancer英语Dancer (software)
  • Mason英语Mason (Perl)
  • Maypole
  • Mojolicious英语Mojolicious
  • WebGUI
PHP
  • CakePHP英语CakePHP
  • CodeIgniter
  • Fat-Free
  • FuelPHP
  • Gyroscope英语Gyroscope (software)
  • Horde英语Horde (software)
  • Kohana英语Kohana (framework)
  • Laravel
  • Lithium英语Lithium (software)
  • Midgard英语Midgard (software)
  • MODX英语MODX
  • Nette英语Nette Framework
  • Phalcon
  • PRADO英语PRADO (framework)
  • Qcodo英语Qcodo
  • Silex英语Silex (web framework)
  • SilverStripe
  • Symfony
  • TYPO3
  • Xaraya英语Xaraya
  • XOOPS
  • Yii英语Yii
  • Zend framework
Python
Ruby
  • Camping英语Camping (microframework)
  • Merb英语Merb
  • Padrino英语Padrino (web framework)
  • Ruby on Rails
  • Sinatra英语Sinatra (software)
Scala
  • Lift
  • Play
  • Scalatra英语Scalatra
Smalltalk
  • AIDA/Web英语AIDA/Web
  • Seaside英语Seaside (software)
其他语言
  • Application Express英语Oracle Application ExpressPL-SQL
  • Grails英语Grails (framework)Groovy
  • Kepler英语Kepler (software)Lua
  • OpenACS英语OpenACSTcl
  • Phoenix英语Phoenix (web framework)Elixir
  • SproutCore英语SproutCoreJavaScript-Ruby
  • YawsErlang