Django 是什么

子凡 问答 2019-05-23 14:49:05 阅读(...)

Django是一个Python框架。开放源代码的Python Web应用框架,采用了MVT的软件设计模式,即模型Model,视图View和模板Template。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。

Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MVT 的软件设计模式,即模型 Model,视图 View 和模板 Template。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于 2005 年 7 月在 BSD 许可证下发布。

Django

这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。

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、MySQL、SQLite、Oracle

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

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

0个人收藏 收藏

相关推荐

  • 排名 ranking

    淘宝号降权是什么意思

    淘宝号降权是指淘宝平台对于某些卖家账号进行的降低搜索排名和展示频率的处罚。这意味着被降权的账号的商品在淘宝搜索结果中排名会更低,展示频率也会变小,这会影响商品的销量和曝光率。
  • 腾讯 WeTest

    腾讯WeTest是什么

    WeTest是腾讯官方出品的一站式质量云,致力于产品质量标准建设和产品品质提升,依托10余年腾讯产品品质管理经验,历经千款腾讯产品磨砺。平台集成云手机、兼容测试、功能测试、性能测试、安全测试、自动化测试等优秀产品服务,满足众多开发者从研发到运营各阶段的测试需求。
  • Bitlocker

    Bitlocker分区解密软件是什么

    Bitlocker分区解密软件是一款针对因各种原因导致Bitlocker分区打不开从而数据丢失进行恢复的软件。Bitlocker是微软自Vista后开始提供的一个自带的加密工具。而这一功能最大的好处就是更好的防止数据失窃或恶意泄漏问题的发生。
  • 达芬奇视频调色软件 DaVinci Resolve

    DaVinci Resolve是什么

    DaVinci Resolve(达芬奇)是一款在同一个软件工具中将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的视频调色软件。它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作,还能提供专业人士需要的强大性能。
  • 科幻画 Science fiction painting

    科幻画是什么

    科幻画是指科幻题材的漫画或插画作品。科幻画通常是基于科学幻想或未来世界的想象,在作品中经常出现未来科技、外星人、机器人、虚拟现实等元素。它可能是一种虚构的故事,也可能是对现实世界的某种展望或预测。
  • TestFlight

    TestFlight是什么

    TestFlight是苹果公司推出的一款应用测试工具。它可以帮助开发者在应用发布之前,在iOS、macOS和tvOS上测试应用。TestFlight可以让开发者向特定的测试用户提供应用的beta版本,开发者可以使用TestFlight收集反馈并在发布之前修复问题。