Django Web 框架 (Python)

Django 是一个非常流行且功能齐全的服务器端 Web 框架,由 Python 编写。本模块将向你展示为什么 Django 是最流行的 Web 服务器框架之一,如何设置开发环境,以及如何开始使用它来创建你自己的 Web 应用程序。

预备知识

开始本模块之前,你不需要具备任何 Django 知识。理想情况下,你需要通过阅读我们的服务器端网站编程第一步模块中的主题,来理解什么是服务器端 Web 编程和 Web 框架。

建议你对编程概念和 Python 有一定的了解,但这对理解核心概念并非必需。

注意:Python 是最易于新手阅读和理解的编程语言之一。即便如此,如果你想更好地理解本模块,互联网上有大量免费的书籍和教程可以帮助你(编程新手可以查看 python.org wiki 上的面向非程序员的 Python 页面)。

教程

Django 介绍

在第一篇 Django 文章中,我们回答了“什么是 Django?”这个问题,并概述了是什么让这个 Web 框架如此特别。我们将列出其主要特性,包括一些我们在这个模块中没有时间详细介绍的高级功能。我们还将展示 Django 应用程序的一些主要构建模块,以便在你进行设置和开始使用之前,对它的功能有一个大致的了解。

搭建 Django 开发环境

现在你已经知道了 Django 的用途,我们将向你展示如何在 Windows、Linux (Ubuntu) 和 macOS 上设置和测试 Django 开发环境——无论你使用哪种常见的操作系统,本文都应该能为你提供开始开发 Django 应用所需的一切。

Django 教程:本地图书馆网站

我们实战教程系列的第一篇文章将解释你将学到什么,并概述“本地图书馆”——一个我们将在后续文章中逐步完善和开发的示例网站。

Django 教程第二部分:创建一个骨架网站

本文将展示如何创建一个“骨架”网站项目,然后你可以在此基础上填充网站特定的设置、URL、模型、视图和模板。

Django 教程第 3 部分:使用模型

本文展示了如何为本地图书馆网站定义模型——模型代表了我们想要存储应用数据的数据结构,并允许 Django 为我们将数据存储在数据库中(以及稍后进行修改)。文章解释了什么是模型、如何声明模型以及一些主要的字段类型。它还简要展示了几种访问模型数据的主要方式。

Django 教程第 4 部分:Django 后台管理站点

现在我们已经为本地图书馆网站创建了模型,接下来将使用 Django 后台管理站点来添加一些“真实”的图书数据。首先,我们将向你展示如何将模型注册到后台站点,然后展示如何登录并创建一些数据。最后,我们还会展示一些可以进一步改善后台站点外观的方法。

Django 教程第 5 部分:创建我们的主页

我们现在准备好添加代码来显示我们的第一个完整页面——本地图书馆的主页,该页面显示每种模型类型的记录数量,并提供到其他页面的侧边栏导航链接。在此过程中,我们将获得编写基本 URL 映射和视图、从数据库获取记录以及使用模板的实践经验。

Django 教程第 6 部分:通用列表和详情视图

本教程扩展了我们的本地图书馆网站,为书籍和作者添加了列表和详情页面。在这里,我们将学习基于类的通用视图,并展示它们如何减少常见用例需要编写的代码量。我们还将更深入地探讨 URL 处理,展示如何执行基本的模式匹配。

Django 教程第 7 部分:会话框架

本教程扩展了我们的本地图书馆网站,在主页上添加了一个基于会话的访问计数器。这是一个相对简单的例子,但它确实展示了你如何使用会话框架为匿名用户在你自己的网站上提供持久化行为。

Django 教程第 8 部分:用户认证和权限

在本教程中,我们将向你展示如何允许用户使用自己的账户登录你的网站,以及如何根据他们是否登录及其权限来控制他们可以做什么和看到什么。作为演示的一部分,我们将扩展本地图书馆网站,添加登录和注销页面,以及供用户和员工查看已借阅书籍的特定页面。

Django 教程第 9 部分:使用表单

在本教程中,我们将向你展示如何在 Django 中使用 HTML 表单,特别是编写表单来创建、更新和删除模型实例的最简单方法。作为演示的一部分,我们将扩展本地图书馆网站,使图书馆员可以使用我们自己的表单(而不是使用后台管理应用)来续借书籍,以及创建、更新和删除作者。

Django 教程第 10 部分:测试 Django Web 应用程序

随着网站规模的增长,手动测试变得越来越困难——不仅需要测试的内容更多,而且随着组件之间交互的复杂性增加,一个区域的微小改动可能需要许多额外的测试来验证其对其他区域的影响。缓解这些问题的一种方法是编写自动化测试,这些测试可以在每次更改时轻松可靠地运行。本教程将展示如何使用 Django 的测试框架来自动化网站的单元测试

Django 教程第 11 部分:将 Django 部署到生产环境

现在你已经创建(并测试)了一个出色的本地图书馆网站,你会希望将其安装到公共 Web 服务器上,以便图书馆工作人员和成员可以通过互联网访问。本文概述了你该如何寻找主机来部署网站,以及为了让网站为生产环境做好准备需要做些什么。

Django Web 应用程序安全

保护用户数据是任何网站设计中至关重要的一部分。我们之前在Web 安全一文中解释了一些常见的安全威胁——本文将通过实际演示,说明 Django 的内置保护措施如何处理这些威胁。

评估

以下评估将测试你对如何使用 Django 创建网站的理解,正如上面列出的教程中所述。

DIY Django 迷你博客

在此评估中,你将使用从本模块学到的一些知识来创建自己的博客。