Django Web 框架(Python)
Django 是一个非常流行且功能齐全的 Python 编写的服务器端 Web 框架。本模块将向您展示为什么 Django 是最受欢迎的 Web 服务器框架之一,如何设置开发环境以及如何开始使用它来创建您自己的 Web 应用程序。
先决条件
在开始本模块之前,您无需具备任何 Django 知识。理想情况下,您需要通过阅读我们 服务器端网站编程入门 模块中的主题来了解什么是服务器端 Web 编程和 Web 框架。
建议您具备编程概念和 Python 的一般知识,但这对于理解核心概念来说并非必需。
注意:Python 是初学者最容易阅读和理解的编程语言之一。也就是说,如果您想更好地理解本模块,互联网上提供了大量免费书籍和教程供您参考(新程序员可能想要查看 Python for Non Programmers python.org wiki 上的页面)。
指南
- Django 简介
-
在这篇关于 Django 的第一篇文章中,我们将回答“什么是 Django?”这个问题,并概述使这个 Web 框架与众不同的特点。我们将概述主要功能,包括一些在本模块中没有时间详细介绍的高级功能。我们还将向您展示 Django 应用程序的一些主要构建块,让您在设置和开始使用之前了解它的功能。
- 设置 Django 开发环境
-
现在您已经了解了 Django 的用途,我们将向您展示如何在 Windows、Linux(Ubuntu)和 macOS 上设置和测试 Django 开发环境——无论您使用哪种常见操作系统,本文都应该为您提供开始开发 Django 应用程序所需的信息。
- Django 教程:本地图书馆网站
-
我们实用教程系列的第一篇文章解释了您将学到的内容,并概述了“本地图书馆”——我们将逐步改进的示例网站,并在后续文章中进行深入介绍。
- Django 教程第 2 部分:创建骨架网站
-
本文展示了如何创建一个“框架”网站项目,然后您可以用特定于站点的设置、URL、模型、视图和模板对其进行填充。
- Django 教程第 3 部分:使用模型
-
本文展示了如何为 LocalLibrary 网站定义模型——模型代表我们要存储应用程序数据的数据结构,还可以让 Django 为我们存储数据(并在以后修改它)。它解释了什么是模型、如何声明模型以及一些主要字段类型。它还简要展示了一些访问模型数据的主要方法。
- Django 教程第 4 部分:Django 管理员网站
-
现在我们已经为 LocalLibrary 网站创建了模型,我们将使用 Django 管理站点添加一些“真实”书籍数据。首先,我们将向您展示如何将模型注册到管理站点,然后我们将向您展示如何登录并创建一些数据。最后,我们将展示一些可以进一步改进管理站点展示方式的方法。
- Django 教程第 5 部分:创建我们的主页
-
现在我们可以添加代码来显示我们的第一个完整页面——LocalLibrary 的主页,该页面显示我们拥有的每种模型类型的记录数量,并提供到其他页面的侧边栏导航链接。在此过程中,我们将获得编写基本 URL 映射和视图的实践经验,从数据库获取记录以及使用模板。
- Django 教程第 6 部分:通用列表和详细信息视图
-
本教程扩展了我们的 LocalLibrary 网站,为书籍和作者添加了列表和详细信息页面。在这里,我们将了解基于类的通用视图,并展示它们如何减少为常见用例编写代码的数量。我们还将更详细地介绍 URL 处理,展示如何执行基本模式匹配。
- Django 教程第 7 部分:会话框架
-
本教程扩展了我们的 LocalLibrary 网站,在主页上添加了一个基于会话的访问计数器。这是一个相对简单的示例,但它确实展示了如何使用会话框架为您自己站点上的匿名用户提供持久行为。
- Django 教程第 8 部分:用户身份验证和权限
-
在本教程中,我们将向您展示如何允许用户使用自己的帐户登录到您的站点,以及如何根据他们是否已登录及其权限来控制他们可以执行的操作和查看的内容。作为本演示的一部分,我们将扩展 LocalLibrary 网站,添加登录和注销页面,以及用于查看已借出书籍的用户和工作人员专用页面。
- Django 教程第 9 部分:处理表单
-
在本教程中,我们将向您展示如何在 Django 中使用 HTML 表单,尤其是编写表单以创建、更新和删除模型实例的最简单方法。作为本演示的一部分,我们将扩展 LocalLibrary 网站,以便图书馆员可以使用我们自己的表单(而不是使用管理应用程序)续借书籍,以及创建、更新和删除作者。
- Django 教程第 10 部分:测试 Django Web 应用程序
-
随着网站的增长,手动测试它们变得越来越困难——不仅需要测试的内容更多,而且随着组件之间交互变得越来越复杂,对一个区域的微小更改可能需要进行许多其他测试才能验证其对其他区域的影响。缓解这些问题的一种方法是编写自动化测试,这些测试可以在每次进行更改时轻松可靠地运行。本教程展示了如何使用 Django 的测试框架对您的网站进行单元测试自动化。
- Django 教程第 11 部分:将 Django 部署到生产环境
-
现在您已经创建(并测试)了一个很棒的 LocalLibrary 网站,您将希望将其安装在公共 Web 服务器上,以便图书馆工作人员和成员可以通过互联网访问它。本文概述了您如何找到主机来部署您的网站以及您需要做什么才能使您的站点准备好投入生产。
- Django Web 应用程序安全
-
保护用户数据是任何网站设计的重要组成部分。我们之前在文章 Web 安全 中解释了一些更常见的安全威胁——本文展示了 Django 的内置保护机制如何处理这些威胁的实践演示。
评估
以下评估将测试您对如何使用 Django 创建网站的理解,如上面列出的指南中所述。
- DIY Django 迷你博客
-
在本评估中,您将使用从本模块中学到的一些知识来创建您自己的博客。