Django 技术专题简介

简介

Django默认的Django页面原作者劳伦斯出版集团(英语:Lawrence Journal-World)开发者Django软件基金会(英语:Django Software Foundation)首次发布2005年7月21日 (2005-07-21)当前版本4.1.7 (2023年2月14日;稳定版本) 源代码库github.com/django/django编程语言Python类型Web应用框架许可协议BSD许可证网站www.djangoproject.comDjango是一个开放源代码的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表单和适于数据库存储的数据之间的转换。

一个缓存框架,并有几种缓存方式可供选择。

中间件支持,允许对请求处理的各个阶段进行干涉。

内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。

一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。

一个用于扩展模板引擎的能力的系统。

内置应用

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

一个可扩展的认证系统

动态站点管理页面

一组产生RSS和Atom的工具

一个灵活的评论系统

产生Google站点地图(Google Sitemaps)的工具

防止跨站请求伪造(cross-site request forgery)的工具

一套支持轻量级标记语言(Textile和Markdown)的模板库

一套协助创建地理信息系统(GIS)的基础框架

服务的部署

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

下列数据库引擎被Django官方支持:

PostgreSQL

MariaDB

MySQL

SQLite

Oracle

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

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平