设置 Django 开发环境

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

先决条件 了解如何使用终端/命令行以及如何在开发计算机的操作系统上安装软件包的基本知识。
目标 在您的计算机上运行 Django (4.*) 的开发环境。

Django 开发环境概述

Django 使您能够非常轻松地设置自己的计算机,以便您可以开始开发 Web 应用程序。本节解释了开发环境为您提供了什么,并概述了一些设置和配置选项。本文的其余部分解释了在 Ubuntu、macOS 和 Windows 上安装 Django 开发环境的**推荐**方法,以及如何对其进行测试。

什么是 Django 开发环境?

开发环境是您本地计算机上安装的 Django,您可以在部署到生产环境之前使用它来开发和测试 Django 应用程序。

Django 本身提供的核心工具是一组用于创建和处理 Django 项目的 Python 脚本,以及一个简单的**开发 Web 服务器**,您可以使用它在计算机的 Web 浏览器上测试本地(即在您的计算机上,而不是在外部 Web 服务器上)Django Web 应用程序。

还有一些外围工具通常构成开发环境的一部分,我们这里将不介绍。这些包括诸如用于编辑代码的文本编辑器或 IDE、用于自动格式化的代码检查工具等等。我们假设您已经安装了文本编辑器。

Django 的设置选项有哪些?

Django 在安装和配置方式以及位置方面非常灵活。Django 可以

  • 安装在不同的操作系统上。
  • 从源代码、Python 包索引 (PyPi) 以及在许多情况下从主机计算机的包管理器应用程序中安装。
  • 配置为使用多个数据库之一,这些数据库可能还需要单独安装和配置。
  • 在主系统 Python 环境中或在单独的 Python 虚拟环境中运行。

每个选项都需要稍微不同的配置和设置。以下小节解释了您的一些选择。在本文的其余部分,我们将向您展示如何在少数几个操作系统上设置 Django,并且在本文档的其余部分将假设该设置。

注意:其他可能的安装选项在 Django 官方文档中有所介绍。我们链接到下面的相关文档

支持哪些操作系统?

Django Web 应用程序几乎可以在任何可以运行 Python 3 编程语言的机器上运行:Windows、macOS、Linux/Unix、Solaris,仅举几例。几乎任何计算机都应该具有在开发过程中运行 Django 所需的性能。

在本文中,我们将提供 Windows、macOS 和 Linux/Unix 的说明。

应该使用哪个版本的 Python?

您可以使用目标 Django 版本支持的任何 Python 版本。对于 Django 5.0,允许的版本是 Python 3.10 到 3.12(请参阅常见问题解答:安装)。

Django 项目**建议**(并“正式支持”)使用支持的 Python 版本的最新可用版本。

我们可以在哪里下载 Django?

有三个地方可以下载 Django

  • Python 包存储库 (PyPi),使用pip 工具。这是获取 Django 最新稳定版本的最佳方法。
  • 使用来自您计算机的包管理器的版本。与操作系统捆绑在一起的 Django 发行版提供了一种熟悉的安装机制。但是请注意,打包版本可能非常旧,并且只能安装到系统 Python 环境中(这可能不是您想要的)。
  • 从源代码安装。您可以从源代码获取并安装 Django 的最新前沿版本。对于初学者不建议这样做,但当您准备好开始回馈 Django 本身时需要这样做。

本文展示了如何从 PyPi 安装 Django,以获取最新稳定版本。

哪个数据库?

Django 正式支持 PostgreSQL、MariaDB、MySQL、Oracle 和 SQLite 数据库,并且有一些社区库为其他流行的 SQL 和 NoSQL 数据库提供不同级别的支持。我们建议您为生产和开发选择相同的数据库(尽管 Django 使用其对象关系映射器 (ORM) 抽象了许多数据库差异,但仍然存在潜在问题,最好避免)。

对于本文(以及本模块的大部分内容),我们将使用SQLite 数据库,它将其数据存储在一个文件中。SQLite 旨在用作轻量级数据库,并且无法支持高水平的并发性。但是,对于主要只读的应用程序来说,它是一个极好的选择。

注意:当您使用标准工具(django-admin)启动网站项目时,Django 会默认配置为使用 SQLite。当您入门时,这是一个绝佳的选择,因为它不需要任何额外的配置或设置。

在系统范围内安装还是在 Python 虚拟环境中安装?

安装 Python3 时,您会获得一个由所有 Python3 代码共享的单个全局环境。虽然您可以在环境中安装任何您喜欢的 Python 包,但您一次只能安装每个包的一个特定版本。

注意:安装到全局环境中的 Python 应用程序可能会相互冲突(例如,如果它们依赖于同一包的不同版本)。

如果将 Django 安装到默认/全局环境中,则您将只能在计算机上定位一个版本的 Django。如果您想创建新的网站(使用 Django 的最新版本),同时仍然维护依赖于旧版本的网站,这可能会成为问题。

因此,经验丰富的 Python/Django 开发人员通常在独立的**Python 虚拟环境**中运行 Python 应用程序。这使得可以在一台计算机上拥有多个不同的 Django 环境。Django 开发团队本身建议您使用 Python 虚拟环境!

本模块假设您已将 Django 安装到虚拟环境中,我们将在下面向您展示如何操作。

安装 Python 3

为了使用 Django,您必须在操作系统上安装 Python 3。您还需要Python 包索引工具——pip3——它用于管理(安装、更新和删除)Django 和其他 Python 应用程序使用的 Python 包/库。

本节简要介绍了如何检查存在哪些版本的 Python,以及根据需要安装新版本的方法,适用于 Ubuntu Linux 20.04、macOS 和 Windows 10。

注意:根据您的平台,您还可以从操作系统的包管理器或通过其他机制安装 Python/pip。对于大多数平台,您可以从https://www.pythonlang.cn/downloads/下载所需的安装文件,并使用相应的平台特定方法安装它们。

Ubuntu 22.04

Ubuntu Linux 22.04 LTS 默认包含 Python 3.10.12。您可以通过在 bash 终端中运行以下命令来确认这一点

bash
python3 -V
# Output: Python 3.10.12

但是,您需要安装 Python 3 包(包括 Django)的 Python 包索引工具 (pip3) **默认情况下不可用**。您可以使用以下命令在 bash 终端中安装pip3

bash
sudo apt install python3-pip

注意:Python 3.10 是Django 5.0 支持的最旧版本。对于本教程,您**无需**使用 Python 的最新版本,但如果您想使用,则互联网上有说明。

macOS

macOS 默认不包含 Python 3(旧版本中包含 Python 2)。您可以通过在终端中运行以下命令来确认这一点

bash
python3 -V

这将显示 Python 版本号(表示已安装 Python 3),或者显示python3: command not found(表示未找到 Python 3)。

您可以轻松地从python.org安装 Python 3(以及pip3 工具)

  1. 下载所需的安装程序
    1. 转到https://www.pythonlang.cn/downloads/macos/
    2. 下载与 Django 5.0 兼容的最新支持版本的稳定版本。(在撰写本文时,为 Python 3.11.8)。
  2. 使用Finder找到该文件,然后双击包文件。按照安装提示操作。

现在,您可以通过再次运行python3 -V 并检查 Python 版本号来确认安装是否成功。

您也可以通过列出可用包来类似地检查pip3 是否已安装

bash
pip3 list

Windows 10 或 11

Windows 默认不包含 Python,但您可以轻松地从python.org安装它(以及pip3 工具)

  1. 下载所需的安装程序
    1. 转到https://www.pythonlang.cn/downloads/windows/
    2. 下载与 Django 5.0 兼容的最新支持版本的稳定版本。(在撰写本文时,为 Python 3.11.8)。
  2. 通过双击下载的文件并按照安装提示操作来安装 Python
  3. 确保选中“将 Python 添加到 PATH”框。

然后,您可以通过在命令提示符中输入以下文本来验证是否已安装 Python 3

bash
py -3 -V

Windows 安装程序默认包含pip3(Python 包管理器)。您可以列出已安装的包,如下所示

bash
py -3 -m pip list

注意:安装程序应该设置运行上述命令所需的一切。但是,如果您收到一条消息,提示找不到 Python,则可能是您忘记将其添加到系统路径。您可以重新运行安装程序,选择“修改”,然后在第二页上选中“将 Python 添加到环境变量”框。

调用 Python 3 和 pip3

您会注意到,在前面的部分中,我们使用不同的命令在不同的操作系统上调用 Python 3 和 pip。

如果您只安装了 Python 3(而不是 Python 2),则可以在任何操作系统上使用裸命令pythonpip 来运行 Python 和 pip。如果您的系统允许这样做,则在使用裸命令运行-V 时,您将获得一个版本“3”字符串,如下所示

bash
python -V
pip -V

如果安装了 Python 2,则要在 Linux/macOS 上使用版本 3,应在命令前加上python3pip3,在 Windows 上则应加上py -3py -3 -m pip

bash
# Linux/macOS
python3 -V
pip3 -V

# Windows
py -3 -V
py -3 -m pip list

以下说明显示了平台特定的命令,因为它们适用于更多系统。

在 Python 虚拟环境中使用 Django

我们将用于创建虚拟环境的库是virtualenvwrapper(Linux 和 macOS)和virtualenvwrapper-win(Windows),它们都使用virtualenv工具。包装工具创建了一个一致的界面,用于在所有平台上管理接口。

安装虚拟环境软件

Ubuntu 虚拟环境设置

安装 Python 和 pip 后,您可以安装virtualenvwrapper(其中包含virtualenv)。官方安装指南可以在这里找到这里,或者按照以下说明操作。

使用pip3安装工具

bash
sudo pip3 install virtualenvwrapper

然后将以下几行添加到 shell 启动文件末尾(这是您主目录中名为.bashrc的隐藏文件)。这些设置了虚拟环境应该存储的位置、开发项目目录的位置以及与该软件包一起安装的脚本的位置

bash
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

注意:VIRTUALENVWRAPPER_PYTHONVIRTUALENVWRAPPER_VIRTUALENV_ARGS变量指向 Python 3 的正常安装位置,而source /usr/local/bin/virtualenvwrapper.sh指向virtualenvwrapper.sh脚本的正常位置。如果在测试时virtualenv无法工作,则需要检查的一件事是 Python 和脚本是否位于预期位置(然后相应地更改启动文件)。

您可以使用命令which virtualenvwrapper.shwhich python3找到系统上的正确位置。

然后通过在终端中运行以下命令重新加载启动文件

bash
source ~/.bashrc

此时,您应该会看到如下所示的一系列脚本正在运行

bash
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postmkproject
# …
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/get_env_details

现在,您可以使用mkvirtualenv命令创建一个新的虚拟环境。

macOS 虚拟环境设置

在 macOS 上设置virtualenvwrapper与在 Ubuntu 上几乎完全相同(同样,您可以按照官方安装指南或以下说明操作)。

如所示,使用pip安装virtualenvwrapper(并捆绑virtualenv)。

bash
sudo pip3 install virtualenvwrapper

然后将以下几行添加到 shell 启动文件末尾(这些行与 Ubuntu 中的相同)。如果您使用的是zsh shell,则启动文件将是您主目录中名为.zshrc的隐藏文件。如果您使用的是bash shell,则它将是名为.bash_profile的隐藏文件。如果文件尚不存在,则可能需要创建它。

bash
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

注意:VIRTUALENVWRAPPER_PYTHON变量指向 Python 3 的正常安装位置,而source /usr/local/bin/virtualenvwrapper.sh指向virtualenvwrapper.sh脚本的正常位置。如果在测试时virtualenv无法工作,则需要检查的一件事是 Python 和脚本是否位于预期位置(然后相应地更改启动文件)。

例如,在 macOS 上的一次安装测试最终需要在启动文件中添加以下几行

bash
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
export PROJECT_HOME=$HOME/Devel
source /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh

您可以使用命令which virtualenvwrapper.shwhich python3找到系统上的正确位置。

然后通过在终端中执行以下调用重新加载启动文件

bash
source ~/.bash_profile

此时,您可能会看到一系列脚本正在运行(与 Ubuntu 安装中的脚本相同)。现在,您应该能够使用mkvirtualenv命令创建一个新的虚拟环境。

注意:如果您在 Finder 中找不到要编辑的启动文件,也可以使用 nano 在终端中打开它。

假设您使用的是 bash,则命令如下所示

bash
cd ~  # Navigate to my home directory
ls -la #List the content of the directory. You should see .bash_profile
nano .bash_profile # Open the file in the nano text editor, within the terminal
# Scroll to the end of the file, and copy in the lines above
# Use Ctrl+X to exit nano, choose Y to save the file.

Windows 虚拟环境设置

安装virtualenvwrapper-win比设置virtualenvwrapper更简单,因为您无需配置工具存储虚拟环境信息的位置(有一个默认值)。您只需在命令提示符中运行以下命令即可

bash
py -3 -m pip install virtualenvwrapper-win

现在,您可以使用mkvirtualenv命令创建一个新的虚拟环境

创建虚拟环境

安装virtualenvwrappervirtualenvwrapper-win后,在所有平台上使用虚拟环境的方式都非常相似。

现在,您可以使用mkvirtualenv命令创建一个新的虚拟环境。当此命令运行时,您将看到环境正在设置(您看到的内容在各个平台上略有不同)。命令完成后,新的虚拟环境将处于活动状态——您会看到这一点,因为提示符的开头将是括号中的环境名称(下面我们展示了 Ubuntu 的情况,但 Windows/macOS 的最后一行类似)。

bash
mkvirtualenv my_django_environment

您应该会看到类似以下的输出

Running virtualenv with interpreter /usr/bin/python3
# …
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/t_env7/bin/get_env_details
(my_django_environment) ubuntu@ubuntu:~$

现在您位于虚拟环境中,可以安装 Django 并开始开发。

注意:从现在起,在本文(以及本模块)中,请假设所有命令都在类似于我们上面设置的 Python 虚拟环境中运行。

使用虚拟环境

还有一些其他有用的命令您应该知道(在工具文档中还有更多,但这些是您经常使用的命令)

  • deactivate - 退出当前 Python 虚拟环境
  • workon - 列出可用的虚拟环境
  • workon name_of_environment - 激活指定的 Python 虚拟环境
  • rmvirtualenv name_of_environment - 删除指定的环境。

安装 Django

创建虚拟环境并调用workon进入后,您可以使用pip3安装 Django。

bash
# Linux/macOS
python3 -m pip install django~=4.2

# Windows
py -3 -m pip install django~=4.2

您可以通过运行以下命令测试 Django 是否已安装(这只是测试 Python 是否可以找到 Django 模块)

bash
# Linux/macOS
python3 -m django --version

# Windows
py -3 -m django --version

注意:如果上述 Windows 命令未显示 django 模块存在,请尝试

bash
py -m django --version

在 Windows 中,Python 3脚本通过在命令前加上py -3来启动,尽管这可能因您的具体安装而异。如果遇到任何命令问题,请尝试省略-3修饰符。在 Linux/macOS 中,命令是python3

警告:本文档的其余部分使用Linux命令调用 Python 3(python3)。如果您在Windows上工作,请将此前缀替换为:py -3

使用 Git 和 GitHub 进行源代码管理

源代码管理 (SCM) 和版本控制工具允许您可靠地存储和恢复源代码版本、尝试更改以及在需要时在您的实验和“已知良好代码”之间共享代码。

有许多不同的 SCM 工具,包括 git、Mercurial、Perforce、SVN(Subversion)、CVS(并发版本系统)等,以及 Bitbucket、GitHub 和 GitLab 等云 SCM 托管源。在本教程中,我们将把我们的代码托管在GitHub上,这是最受欢迎的基于云的源代码托管服务之一,并使用git工具在本地管理我们的源代码,并在需要时将其发送到 GitHub。

注意:使用 SCM 工具是良好的软件开发实践!这些说明提供了 git 和 GitHub 的基本介绍。要了解更多信息,请参阅学习 Git

关键概念

Git(和 GitHub)使用存储库(“repo”)作为存储代码的顶级“容器”,其中每个 repo 通常只包含一个应用程序或模块的源代码。存储库可以是公开的,在这种情况下,代码对互联网上的每个人都可见,也可以是私有的,在这种情况下,它们仅限于拥有组织或用户帐户。

所有工作都在 repo 中特定代码的“分支”上完成。当您想将某些更改备份到分支时,您可以创建一个“提交”,它会存储自上次提交到当前分支以来的所有更改。

repo 使用名为“main”的默认分支创建。您可以使用 git 从该分支派生其他分支,这些分支最初包含原始分支的所有提交。您可以通过添加提交来分别发展分支,然后稍后在 GitHub 上使用“拉取请求”(PR)将更改从一个分支合并到另一个分支。您还可以使用 git 在本地计算机上的分支之间切换,例如,尝试不同的操作。

除了分支之外,还可以创建任何分支上的标签,并在以后恢复该分支上的那个点。

在 GitHub 上创建帐户和存储库

首先,我们将在 GitHub 上创建一个免费帐户。使用免费帐户,您无法创建私有 repo,但您可以创建任意数量的公共存储库(“repo”)。然后,我们创建一个名为“django_local_library”的存储库,用于存储本地图书馆网站,因为我们将在本教程的其余部分中对其进行改进。

步骤如下:

  1. 访问https://github.com/并创建一个帐户。
  2. 登录后,点击顶部的工具栏中的+链接,然后选择新建存储库
  3. 填写此表单中的所有字段。虽然这些不是强制性的,但强烈建议您填写。
    • 输入存储库名称:“django_local_library”。
    • 输入新的存储库描述:“用 Django 编写的本地图书馆网站”。
    • 为存储库选择“公开”(默认值)。

      警告:这将使所有源代码可见。请记住,除非存储库是私有的,否则不要在其中存储凭据或其他敏感材料。

    • 添加 .gitignore选择列表中选择Python
    • 添加许可证选择列表中选择您喜欢的许可证。MDN 在此示例中使用“知识共享零 1.0 通用”。
    • 选中使用自述文件初始化此存储库
  4. 创建存储库。将创建存储库,其中仅包含文件README.txt.gitignore

将 repo 克隆到您的本地计算机

现在存储库(“repo”)已在 GitHub 上创建,我们将希望将其克隆(复制)到我们的本地计算机

  1. 在 GitHub 上,点击绿色的代码按钮。在“克隆”部分,选择“HTTPS”选项卡,然后复制 URL。如果您使用的是存储库名称“django_local_library”,则 URL 应类似于:https://github.com/<your_git_user_id>/django_local_library.git
  2. 为您的本地计算机安装git(您可以在这里找到不同平台的版本)。
  3. 打开命令提示符/终端,并使用您上面复制的 URL 克隆您的 repo
    bash
    git clone https://github.com/<your_git_user_id>/django_local_library.git
    
    这将在当前目录中创建存储库。
  4. 导航到 repo 文件夹。
    bash
    cd django_local_library
    

修改和同步更改

现在,我们将修改本地计算机上的.gitignore文件,提交更改,并更新 GitHub 上的存储库。这是一个有用的更改,但主要是因为我们要向您展示如何从 GitHub 拉取更改、在本地进行更改,然后将其推送到 GitHub。

  1. 在命令提示符/终端中,我们首先“获取”(获取),然后拉取(获取并合并到当前分支)来自 GitHub 的源的最新版本

    注意:此步骤并非严格必要,因为我们刚刚克隆了源代码并且知道它是最新的。但是,通常您应该在进行更改之前更新来自 GitHub 的源代码。

    bash
    git fetch origin main
    git pull origin main
    
    “origin”是一个远程,它表示源代码所在 repo 的位置,“main”是分支。您可以使用命令:git remote -v验证 origin 是否是我们 GitHub 上的 repo。
  2. 接下来,我们检出一个新分支来存储我们的更改

    bash
    git checkout -b update_gitignore
    
    checkout 命令用于切换分支,使其成为当前工作分支。-b 标志表示我们打算创建一个名为“update_gitignore”的新分支,而不是选择一个同名的现有分支。
  3. 打开**.gitignore** 文件,将以下几行复制到文件的底部,然后保存。
    # Text backup files
    *.bak
    
    # Database
    *.sqlite3
    
    请注意,.gitignore 用于指示不应该由 Git 自动备份的文件,例如临时文件和其他构建产物。
  4. 使用 add 命令将所有更改的文件(未被**.gitignore** 文件忽略的文件)添加到当前分支的“暂存区”。
    bash
    git add -A
    
  5. 使用 status 命令检查所有即将 commit 的文件是否正确(您希望包含源文件,而不是二进制文件、临时文件等)。它应该看起来有点像下面的列表。
    bash
    > git status
    On branch main
    Your branch is up-to-date with 'origin/update_gitignore'.
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
            modified:   .gitignore
    
  6. 确认无误后,使用 commit 命令将文件提交到本地仓库,并使用 -m 标志指定简洁明了的提交信息。这相当于对更改进行签核,并将其正式纳入本地仓库。
    bash
    git commit -m ".gitignore: add .bak and .sqlite3"
    
  7. 此时,远程仓库尚未更改。我们可以使用以下命令将 update_gitignore 分支推送到“origin”仓库(GitHub)。
    bash
    git push origin update_gitignore
    
  8. 返回您在 GitHub 上创建仓库的页面并刷新页面。应该会显示一个横幅,其中包含一个按钮,如果您想“比较并发起拉取请求”刚刚上传的分支,可以点击该按钮。选择该按钮,然后按照说明创建并合并拉取请求。提示用户是否要比较和合并最近分支更新的横幅 合并后,GitHub 上的仓库的“main”分支将包含您对.gitignore 的更改。
  9. 随着文件发生变化,您可以继续使用此添加/提交/推送循环来更新本地仓库。

在下一个主题中,我们将使用此仓库来存储我们本地的图书馆网站源代码。

其他 Python 工具

有经验的 Python 开发人员可能会安装其他工具,例如代码风格检查器(帮助检测代码中常见的错误)。

请注意,您应该使用 Django 感知型代码风格检查器,例如 pylint-django,因为一些常见的 Python 代码风格检查器(例如 pylint)会错误地报告 Django 为标准文件生成的错误。

测试您的安装

上面的测试有效,但不是很有趣。一个更有趣的测试是创建一个骨架项目,并查看其工作情况。为此,首先在命令提示符/终端中导航到您要存储 Django 应用的位置。为您的测试站点创建一个文件夹并导航到其中。

bash
mkdir django_test
cd django_test

然后,您可以使用**django-admin** 工具创建一个名为“mytestsite”的新骨架站点,如所示。创建站点后,您可以导航到包含用于管理项目的main脚本的文件夹,该脚本称为**manage.py**。

bash
django-admin startproject mytestsite
cd mytestsite

我们可以使用**manage.py** 和runserver 命令从该文件夹中运行开发 Web 服务器,如所示。

bash
# Linux/macOS
python3 manage.py runserver

# Windows
py -3 manage.py runserver

注意:此时您可以忽略有关“未应用的迁移”的警告!

服务器运行后,您可以通过在本地 Web 浏览器中导航到以下 URL 来查看站点:http://127.0.0.1:8000/。您应该会看到一个如下所示的站点。

The home page of the skeleton Django app

总结

现在您已经在计算机上启动并运行了一个 Django 开发环境。

在测试部分,您还简要了解了如何使用django-admin startproject 创建新的 Django 网站,以及如何使用开发 Web 服务器(python3 manage.py runserver)在浏览器中运行它。在下一篇文章中,我们将扩展此过程,构建一个简单但完整的 Web 应用程序。

另请参阅