如何在 Ubuntu 20.04 上安装 Django Web 框架

介绍

Django是一个功能齐全的 Python Web 框架,用于开发动态网站和应用程序。使用 Django,您可以快速创建 Python Web 应用程序并依靠该框架来完成大量繁重的工作。

在本指南中,您将在 Ubuntu 20.04 服务器上启动并运行 Django。安装后,您将启动一个新项目以用作站点的基础。

不同的方法

有多种安装 Django 的方法,具体取决于您的需要以及您希望如何配置开发环境。这些具有不同的优势,一种方法可能比其他方法更适合您的特定情况。

一些不同的方法包括:

  • 从包全局安装:官方 Ubuntu 存储库包含可以使用传统apt包管理器安装的 Django 包这很简单,但不如其他一些方法灵活。此外,存储库中包含的版本可能落后于项目提供的官方版本。
  • pip在虚拟环境中安装:您可以使用venv和 等工具为您的项目创建一个独立的环境virtualenv虚拟环境允许您在项目目录中安装 Django 以及其他每个项目的自定义和包,而不会影响更大的系统。这通常是使用 Django 的最实用和推荐的方法。
  • 安装开发版本git:如果您希望安装最新的开发版本而不是稳定版本,您可以从 Git 存储库获取代码。这是获取最新功能/修复所必需的,并且可以在您的虚拟环境中完成。然而,开发版本没有与更稳定版本相同的稳定性保证。

先决条件

在开始之前,您应该在 Ubuntu 20.04 服务器上拥有一个具有 sudo 权限的非 root 用户。要进行设置,请遵循我们的Ubuntu 20.04 初始服务器设置指南

从包全局安装

如果您希望使用 Ubuntu 存储库安装 Django,该过程非常简单。

首先,使用以下命令更新您的本地包索引apt

  • sudo apt update

接下来,检查您安装了哪个版本的 Python。默认情况下,20.04 附带 Python 3.8,您可以通过键入以下内容进行验证:

  • python3 -V

你应该看到这样的输出:

Output
Python 3.8.2

接下来,安装 Django:

  • sudo apt install python3-django

您可以通过键入以下内容来测试安装是否成功:

  • django-admin --version
Output
2.2.12

这意味着该软件已成功安装。您可能还注意到 Django 版本不是最新的稳定版本。要了解有关如何使用该软件的更多信息,请跳过以了解如何创建示例项目

在虚拟环境中使用 pip 安装

在系统上安装 Django 的最灵活方法是在虚拟环境中。我们将向您展示如何在我们将使用venv模块创建的虚拟环境中安装 Django,该模块是标准 Python 3 库的一部分。此工具允许您创建虚拟 Python 环境并安装 Python 包,而不会影响系统的其余部分。因此,您可以在每个项目的基础上选择 Python 包,而不管与其他项目的要求是否冲突。

让我们从刷新本地包索引开始:

  • sudo apt update

检查您安装的 Python 版本:

  • python3 -V
Output
Python 3.8.2

接下来,让我们从 Ubuntu 存储库安装pipvenv

  • sudo apt install python3-pip python3-venv

现在,每当您开始一个新项目时,您都可以为其创建一个虚拟环境。首先创建并移动到一个新的项目目录:

  • mkdir ~/newproject
  • cd ~/newproject

接下来,使用python与您的 Python 版本兼容命令在项目目录中创建一个虚拟环境我们将调用我们的虚拟环境my_env,但您应该将其命名为描述性的名称:

  • python3 -m venv my_env

这将安装 Python 的独立版本并安装pip到项目目录中的独立目录结构中。将使用您选择的名称创建一个目录,该目录将保存将安装包的文件层次结构。

要将软件包安装到隔离环境中,您必须通过键入以下内容来激活它:

  • source my_env/bin/activate

您的提示应更改以反映您现在处于虚拟环境中。它看起来像.(my_env)username@hostname:~/newproject$

在您的新环境中,您可以使用pip来安装 Django。无论您的 Python 版本如何,pip都应该pip在您处于虚拟环境中时调用还要注意的是,你并不需要使用sudo,因为你是在本地安装:

  • pip install django

您可以通过键入以下内容来验证安装:

  • django-admin --version
Output
3.0.8

请注意,您的版本可能与此处显示的版本不同。

要离开您的虚拟环境,您需要deactivate从系统上的任何位置发出命令:

  • deactivate

您的提示应恢复为常规显示。当您希望再次处理您的项目时,通过移回您的项目目录并激活来重新激活您的虚拟环境:

  • cd ~/newproject
  • source my_env/bin/activate

使用 Git 安装开发版本

如果您需要 Django 的开发版本,可以从其 Git 存储库下载并安装 Django。让我们在虚拟环境中执行此操作。

首先,让我们更新本地包索引:

  • sudo apt update

检查您安装的 Python 版本:

  • python3 -V
Output
Python 3.8.2

接下来,从官方存储库安装pipvenv

  • sudo apt install python3-pip python3-venv

下一步是克隆 Django 存储库。在发布之间,此存储库将具有更多最新功能和错误修复,但可能会牺牲稳定性。您可以通过键入以下内容将存储库克隆到您的主目录中调用的目录:~/django-dev

  • git clone git://github.com/django/django ~/django-dev

切换到这个目录:

  • cd ~/django-dev

使用python与您安装的 Python 版本兼容命令创建一个虚拟环境

  • python3 -m venv my_env

激活它:

  • source my_env/bin/activate

接下来,您可以使用pip. -e选项将以“可编辑”模式安装,这在从版本控制安装时是必需的:

  • pip install -e ~/django-dev

您可以通过键入以下内容来验证安装是否成功:

  • django-admin --version
Output
3.2

同样,您看到的版本可能与此处显示的版本不匹配。

您现在在虚拟环境中拥有最新版本的 Django。

创建示例项目

安装 Django 后,您可以开始构建您的项目。我们将介绍如何创建项目并使用虚拟环境在您的开发服务器上对其进行测试。

首先,为您的项目创建一个目录并将其更改为:

  • mkdir ~/django-test
  • cd ~/django-test

接下来,创建您的虚拟环境:

  • python3 -m venv my_env

激活环境:

  • source my_env/bin/activate

安装 Django:

  • pip install django

要构建您的项目,您可以使用django-adminstartproject命令。我们将称我们的项目为djangoproject,但您可以将其替换为不同的名称。startproject将在您当前的工作目录中创建一个目录,其中包括:

  • 一个管理脚本,manage.py可用于管理各种特定于 Django 的任务。
  • 包含实际项目代码的目录(与项目同名)。

但是,为了避免嵌套太多目录,让我们告诉 Django 将管理脚本和内部目录放在当前目录中(注意结尾点):

  • django-admin startproject djangoproject .

要迁移数据库(此示例默认使用 SQLite),让我们使用migrate带有manage.py. 迁移会将您对 Django模型所做的任何更改应用于数据库架构。

要迁移数据库,请键入:

  • python manage.py migrate

您将看到如下输出:

Output
Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK

最后,让我们创建一个管理用户,以便您可以使用Djano 管理界面让我们使用以下createsuperuser命令执行此操作

  • python manage.py createsuperuser

系统将提示您输入用户名、电子邮件地址和用户密码。

在 Django 设置中修改 ALLOWED_HOSTS

要成功测试您的应用程序,您需要修改 Django 设置中的指令之一。

通过键入以下内容打开设置文件:

  • nano ~/django-test/djangoproject/settings.py

在里面,找到ALLOWED_HOSTS指令。这定义了可用于连接到 Django 实例的地址或域名列表。具有不在此列表中Host标头的传入请求将引发异常。Django 要求您设置此项以防止某类安全漏洞。

在方括号中,列出与您的 Django 服务器关联的 IP 地址或域名。每个项目都应该用引号列出,单独的条目用逗号分隔。如果您想要对整个域和任何子域的请求,请在条目的开头添加一个句点:

~/django-test/djangoproject/settings.py
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

完成后,保存文件并退出编辑器。

测试开发服务器

一旦你有了用户,你就可以启动 Django 开发服务器,看看一个新的 Django 项目是什么样的。您应该仅将其用于开发目的。当您准备好部署时,请务必仔细遵循Django 的部署指南

在尝试开发服务器之前,请确保在防火墙中打开了适当的端口。如果您遵循初始服务器设置指南并使用 UFW,则可以8000通过键入以下内容打开端口

  • sudo ufw allow 8000

启动开发服务器:

  • python manage.py runserver your_server_ip:8000

访问您的服务器的 IP 地址,然后:8000在您的 Web 浏览器中:

http://your_server_ip:8000

您应该会看到如下所示的内容:

Django 公共页面

要访问管理界面,请添加/admin/到 URL 的末尾:

http://your_server_ip:8000/admin/

这将带您进入登录屏幕:

Django 管理员登录

如果您输入刚刚创建的管理员用户名和密码,您将可以访问站点的主管理部分:

Django 管理页面

有关使用 Django 管理界面的更多信息,请参阅“如何启用和连接 Django 管理界面”。

浏览完默认站点后,您可以通过CTRL-C在终端中键入来停止开发服务器

您创建的 Django 项目为设计更完整的站点提供了结构基础。查看 Django 文档,了解有关如何构建应用程序和自定义站点的更多信息。

结论

您现在应该在 Ubuntu 20.04 服务器上安装了 Django,它提供了创建强大的 Web 应用程序所需的主要工具。您还应该知道如何启动一个新项目并启动开发者服务器。利用像 Django 这样的完整 Web 框架可以帮助加快开发速度,让您只专注于应用程序的独特方面。

如果您想了解有关使用 Django 的更多信息,包括对模型视图等事物的深入讨论,请参阅我们的Django 开发系列

觉得文章有用?

点个广告表达一下你的爱意吧 !😁