跳到主要内容

Django 简介

Django 是一个使用 Python 编写的开源 Web 应用框架,它是一个非常全面的 Web 框架,被称为“完美主义者的 Web 框架”。

Django 框架

大部分开发语言中都有 MVC 框架,MVC 的含义如下:

  • M 表示 Model,主要用于对数据库层的封装;
  • V 表示 View,用于向用户展示结果;
  • C 表示 Controller,是核心,用于处理请求、获取数据、返回结果。

Django 在 MVC 框架的基础上进行改良,更关注模型(Model)、模板(Template)和视图(Views),这也被称为 MVT 框架。

  • M 表示 Model,负责与数据库交互;
  • V 表示 View,是核心,负责接收请求、获取数据、返回结果;
  • T 表示 Template,负责呈现内容到浏览器。

功能特点

Django 的主要目的是简便、快速地开发数据库驱动的网络,强调代码复用,多个组件可以很方便地以“插件”的形式服务于整个框架。

总的来说,Django 具有如下特点:

  • ORM(对象关系映射):以 Python 类形式定义数据模型,ORM 将模型与关系数据库连接起来,可以得到一个非常容易使用的数据库 API,同时开发者也可以在 Django 中使用原始的 SQL 语句。
  • URL 分派:Django 使用正则表达式匹配 URL,开发者可以设计任意的 URL,没有框架的特定限定。
  • 模板系统:使用 Django 强大且可扩展的模板语言可以将设计、内容及 Python 代码分隔开来,并且具有可继承性。
  • 表单处理:开发者不仅可以方便地生成各种表单模型,实现表单的有效性检验,还可以方便地从定义的模型实例生成相应的表单。
  • Cache 系统:可以挂在内存缓冲或其他框架实现超级缓冲,从而实现所需要的粒度。
  • 会话(session):用户登录与权限检查,可快速开发用户会话功能。
  • 国际化:Django 内置国际化系统,方便开发出多种语言的网站。
  • 自动化的管理界面:Django 自带一个 Admin site,类似于内容管理系统,开发者可以快速定制自己的后台管理系统。

应用案例

  • Disqus:为网络社区提供网站留言功能的平台。
  • Instagram:一款以图片分享为主的移动社交应用。
  • Spotify:一个正版流媒体音乐服务平台。
  • YouTube:一个知名的视频分享网站,国内称它为“油管”。
  • The Washington Post:Django 最初就是为报纸网站而生的,包括《华盛顿邮报》在内的许多新闻媒体都在使用 Django。
  • BitBucket:一个基于 Web 的版本库托管服务。
  • DropBox:一款基于 Web 的文件同步工具。
  • Eventbrite:一个在线活动策划服务平台。
  • Mozilla:Mozilla 的支持网站和浏览器的所有附加组件都是由 Django 驱动的。
  • Pinterest:一款以兴趣为基础的社交网络应用。

相关链接