Django 初学者教程:特性、架构和历史
Django 教程总结
本 Django 教程从头开始涵盖所有基础主题。在本教程中,您将了解 Django 是什么、Django 历史、Django 特性、Django 框架的特点、Django 的组件、优点和缺点等概念。
在学习 Django 之前,让我们了解一下:主页>
什么是 Web 框架?
Web 框架是一个代码库,可帮助您构建灵活、可扩展和可维护的;动态网站、Web 应用程序和 Web 服务。不同的 Web 框架有 Zend for PHP、Ruby on Rails for Ruby 等。
什么是 Django?
姜戈 是一个 Python 的 Web 开发框架,它为快速有效的网站开发提供标准方法。这个高级 Web 框架的主要目标是创建复杂的数据库驱动网站。它可以帮助您构建和维护高质量的 Web 应用程序。它使您能够使开发过程顺利且省时,从而实现快速开发。
在这个面向初学者的 Python Django 教程中,您将学习
- 什么是 Web 框架?
- 什么是 Django?
- 为什么选择 Django? Django 的主要优势
- Django 的历史
- Django 的特点
- Django 的特点
- Django 架构
- Django 的组件
- 使用 Django 的知名公司
- 使用 Django 的缺点
为什么是 Django? Django 的主要优势
以下是 Django 的主要优点:
- Django 易于设置和运行。它提供了多种入门选择
- 它为管理活动提供了一个现成的用户界面
- 它通过使用其内置的国际化系统支持多语言网站
- 帮助您快速满足海量流量需求
- Django 用于构建所有类型的内容管理系统、社交网络以及科学计算平台。
- Django 帮助您提供端到端的应用程序测试
- 帮助您使用 HTML 输出记录您的 API
- REST 框架对多种身份验证协议具有丰富的支持
- 权限和限制政策
- 它广泛用于限制来自单个用户的 API 请求。
Django 的历史
年份 | 里程碑 |
---|---|
2003 | 该项目由 Adian Holovaty 和 Simon Willison 作为 Lawrence Journal-World 报纸的内部项目启动 |
2005 年 7 月 | 2005 年 7 月以爵士吉他手 Django Reinhard 的名字命名的“Django”发行 |
2008 年 6 月 | 宣布 Django 软件基金会 (DSF) 将维护 Django。 |
2009 年 7 月 29 日 | Django 1.1 版本发布,具有聚合、基于事务的测试等功能。 |
2010 年 5 月 17 日 | Django 1.2 版本发布。此更新提供了多个数据库、电子邮件后端的实现以及会话和 cookie 的改进等功能。 |
2011 年 3 月 23 日 | 1.3 版本引入了基于类的视图、静态文件等功能 |
2012 年 3 月 23 日 | 1.4 版本推出,具有时区和浏览器内测试等新功能 |
2013 年 2 月 26 日 | 1.5 版本自带 Python 3 支持,可配置用户模型功能。 |
2013 年 11 月 6 日 | 1.6版本自带DB事务管理、连接池功能。 |
2014 年 9 月 2 日 | 1.7 版本具有应用加载、迁移和配置等新功能 |
2015 年 4 月 1 日 | 为多个模板引擎提供原生支持。 |
2015 年 12 月 1 日 | 在 1.9 版本中,引入了自动密码验证功能。 |
2016 年 8 月 1 日 | 在 1.10 版本中推出 PostgreSQL 全文搜索。 |
2017 年 4 月 4 日 | 1.11 版本成为支持 Python 2.7 的最后一个版本 |
2017 年 12 月 2 日 | 2.0 版成为第一个仅 python 3 的发布版本。 |
2018 年 8 月 1 日 | 2.1 版带有模型“查看”权限支持功能。 |
2021 | 删除了对 Django 3.0 的支持并添加了 Django 3.2 支持 |
现在在这篇 Django 初学者教程中,让我们了解一下 Django 的特性。
Django 的特点
以下是 Django 的特点:
- 帮助您为应用程序中的 URL 定义模式
- 简单而强大的网址系统
- 内置身份验证系统
- 面向对象的编程语言数据库,提供一流的数据存储和检索
- 自动管理界面功能允许添加、编辑和删除项目的功能。您可以根据需要自定义管理面板。
- 缓存框架自带多种缓存机制。
现在在这个Django框架教程中,我们将了解Django的特性。
Django 的特点
以下是 Django 的主要特点:
- 松耦合 - Django 帮助您使其堆栈中的每个元素独立于其他元素。
- 更少的代码 - 确保有效的开发
- 不重复 - 一切都应该在一个地方精确地开发,而不是重复一遍
- 快速开发 - Django 提供快速可靠的应用程序开发。
- 一致的设计 - Django 保持简洁的设计,并使其易于遵循最佳 Web 开发实践。
接下来在这个 Django 初学者教程中,我们将了解 Django 的架构。
Django 架构:MVC 和 MVT
下面是Django的详细架构:
<中心>
<图>
Django 架构
图>
MVC 模式:
在谈论提供 UI(Web 或桌面)的应用程序时,我们通常会谈论 MVC 架构。 MVC 模式基于模型、视图和控制器。
模型 定义数据结构并负责查询数据库。
视图 定义应呈现的数据并返回 HTTP 响应。
控制器 是应用程序中处理用户交互的部分。
Django MVC-MVT 模式
与 MVC 相比,模型-视图-模板 (MVT) 是一个不同的概念。这两种架构模式的主要区别在于 Django 本身管理控制器部分(控制模型和视图之间交互的软件代码)。模板是一个 HTML 文件,混合了 Django 模板语言文件,也称为 DTL。
下图显示了 MVT 模式的所有组件如何相互交互以针对用户请求提供服务。

如上图所示,用户向 Django 请求资源。 Django 充当控制器并检查 URL 中的可用资源。
如果 URL 映射,则调用与模型和模板交互的视图。然后 Django 响应用户并发送一个模板作为响应。
现在在这个 Django 初学者教程系列中,我们将学习 Django 的组件。
Django 的组件
表格:
Django 有一个强大的表单库,可以将表单呈现为 HTML。该库有助于验证提交的数据并将其转换为 Python 类型。
身份验证:
它处理用户帐户、组、基于 cookie 的用户会话等。
管理员:
它读取模型中的元数据,以提供一个强大的界面,可用于管理您网站上的内容。
国际化:
Django 支持将文本翻译成各种语言,支持特定于语言环境的日期、时间、数字和时区格式。
安全性:
Django 提供了针对以下攻击的防护:
- 跨站请求伪造 (CSRF)
- 跨站脚本
- SQL 注入
- 点击劫持
- 远程代码执行
使用 Django 的知名公司
以下是使用 Django 的公司:
- 比特桶
- 讨论
- 美国宇航局
- PBS(公共广播服务)
- Mozilla
- 华盛顿邮报
- 纽约时报
- 洛杉矶时报
- 卫报国家地理
- 探索频道
使用 Django 的缺点
- 一个进程不能同时处理多个请求。
- Django 是一个非常单一的工具。
- 组件部署在一起可能会造成混乱。
- 了解在 Django 上工作所需的完整系统
- 使 Web 应用程序组件紧密耦合
- 您需要为次要任务进行冗长的编程。
总结
- Django 是一个用于 Python 的 Web 开发框架,它为快速有效的网站开发提供了一种标准方法。
- Django 由 Adian Holovaty 和 Simon Willison 于 2003 年作为 Lawrence Journal-World 报纸的内部项目开始
- Django 帮助您使用 HTML 输出记录您的 API。
- Django 允许您根据需要自定义管理面板。
- Django 帮助您使其堆栈中的每个元素独立于其他元素。
- MVC 和 MVT 架构模式的主要区别在于 Django 自己管理 Controller 部分。
- Django 架构的基本组件包括:表单、身份验证、管理、国际化、安全性。
- Bitbucket、DISQUS、Nasa、Pinterest、Instagram、Mozilla 等使用 Django
- Django 最大的缺点是它不能同时处理多个请求。
Python