返回博客

在 Ubuntu 21.04 Server 上配合 Django 使用 PostgreSQL

在 Ubuntu 21.04 Server 上配合 Django 使用 PostgreSQL

Django 是一个著名的 Web 框架,它简化了创建强大、可扩展、安全和高性能 Web 应用的过程。它是一个开源项目,使用 Python 编写。您可以在此处查看 关于 Django 的更多详细信息.

任何 Web 应用都需要一个数据库作为后端来管理数据。Django 支持 各种数据库引擎 作为后端,例如 MySQL, PostgreSQL, SQLite 等。PostgreSQL 是一款功能强大的开源对象关系数据库系统。它以可靠性、可扩展性、安全性和强大的功能集而闻名。您可以 在此处了解有关 PostgreSQL 的更多信息.

在本指南中,我们将展示如何在示例 Django 应用中集成 PostgreSQL 作为后端.

前提条件

使用 Django 需要进行某些系统配置。

本指南还将展示如何使用功能完善的 Django 应用所需的各种 Python 模块和库。

步骤 1. 安装必要的组件

为了让我们的项目正常运行,我们需要在 Ubuntu 系统上安装一系列重要的软件包。值得庆幸的是,所有这些软件包都可以直接从官方 Ubuntu 软件包仓库中获取。这些软件包包括 Python 组件和数据库 (PostgreSQL) 组件。

首先,启动终端并更新 APT 软件包缓存:

Using PostgreSQL with Django 1

接下来,安装这些软件包:

Using PostgreSQL with Django 2

步骤 2. 准备数据库

PostgreSQL 现已安装并准备就绪。接下来,我们将为 Django 应用创建一个专用数据库和用户。拥有专用用户有利于数据库和权限管理。

在安装过程中,PostgreSQL 会创建一个专用用户 postgres。它拥有在 PostgreSQL 上执行任何管理任务的权限。访问 postgres 账户:

您应该会进入用户 postgres 下的新 shell 会话。然后,打开 PostgreSQL shell:

现在,我们将为 Django 应用创建一个专用数据库。建议给它起一个与 Django 应用相匹配的名称:

接下来,我们将创建一个专用数据库用户。我们将使用该用户来访问 Django 专用数据库:

下一步是为新用户调整几个连接参数。这有助于加快数据库操作,因为不需要在每次建立连接时都查询这些值。运行以下命令:

让我们快速分析一下这些命令:

  • 我们将默认编码设置为 UTF-8。这是 Django 在与数据库交互时所期望的编码。

  • 默认事务隔离级别设置为“read committed”(读已提交),这样可以阻止读取未提交的事务。

  • 时区应根据您所在的位置进行设置。

如果您不确定时区的名称,以下命令将列出 PostgreSQL 支持的所有时区:

Using PostgreSQL with Django 4

最后,授予新用户对 Django 专用数据库的完全权限:

我们对 PostgreSQL 的操作现已完成。退出 psql 终端并退出 postgres 会话。

步骤 3. 安装 Django

我们已经为 Django 应用配置了所需的数据库服务器。现在,我们将安装并配置专用的 Django 应用。虽然可以直接从 Ubuntu 官方仓库获取 Django,但我们不建议使用这种方法。这会在系统全局安装 Django。为了获得更好的灵活性和易管理性,我们将在虚拟环境中安装 Django。在虚拟 Python 环境中安装和配置 Django 是一种标准做法。

Python 有一个模块 virtualenv,用于在目标位置创建虚拟 Python 环境。该环境会获取其自身的 Python 二进制文件和配置副本。在虚拟环境中所做的更改不会对系统的其余部分产生任何影响。

安装 virtualenv:

Using PostgreSQL with Django 5

接下来,我们的目标是拥有一个专用目录来建立 Python 虚拟环境。它将作为我们 Django 应用的基础。为了进行演示,我们的应用名称将为 sample_app。创建一个新目录:

切换当前活动目录并建立虚拟环境:

之后,激活虚拟环境:

虚拟环境现在已准备就绪并可以使用。然后,我们将使用 pip 来安装 Django 和 psycopg2(用于 PostgreSQL 的 Python 适配器):

Using PostgreSQL with Django 6

最后,我们可以使用 Django 工具创建一个新的 Django 项目。它将在当前目录下生成一个同名的子目录,其中包含所有代码和一个管理脚本:

步骤 4. 配置 Django 项目

Django 项目拥有作为 Web 应用运行的所有基础工具。为了将其与我们的数据库集成,我们需要对其配置文件进行一些调整。

在文本编辑器中打开文件 settings.py

向下滚动到 DATABASES 部分。默认情况下,它被配置为使用 SQLite:

对于我们的目的,请按如下方式修改代码:

在这里,我们告诉 Django 使用 psycopg2 适配器进行数据库通信。我们还声明了所有必要的数据库信息,例如数据库名称以及专用用户的用户名和密码。

完成后,保存文件并关闭编辑器。

步骤 5. 迁移数据库

Django 已配置为访问我们的 PostgreSQL 数据库。我们现在可以将数据结构迁移到我们的数据库中。在 Django 中,这被称为 迁移.

要迁移数据库更改,请调用管理脚本 manage.py:


Using PostgreSQL with Django 7

接下来,为我们的 Django 应用创建一个超级用户:

Using PostgreSQL with Django 8

此超级用户帐户将用作我们 Django 应用的管理员帐户。

步骤 6. 测试更改

到目前为止,我们已经对 Django 应用进行了多次调整。是时候检查一切是否按预期工作了。我们将通过启动应用并访问管理面板来验证这一点。

由于我们是在本地开发 Django 应用,我们将在 localhost 上启动服务器。按照传统,我们将在端口 8000 上启动它。如果您配置了防火墙,那么它需要允许流量通过端口 8000。了解更多关于 UFW 的基础知识.

启动 Django 服务器:

在浏览器中访问该 URL:

Using PostgreSQL with Django 9

您应该会进入 Django 安装成功页面。要访问 Django 管理页面,请转到以下 URL:

Using PostgreSQL with Django 10

您需要使用我们创建的超级用户进行登录:

瞧!我们已成功进入管理面板!

一旦您完成探索,请按 Ctrl + C (在控制台中)以停止 Django 服务器。

总结

在本指南中,我们成功演示了建立一个 Django 示例应用并配置 PostgreSQL 作为其后端。虽然 SQLite 通常足以满足开发期间(以及轻量级生产环境使用)的需求,但大多数项目通过切换到功能更全的 DBMS 将大获裨益。PostgreSQL 是一个兼顾性能和可扩展性的绝佳选择。

Django 是一个通用的 Web 框架,可以与众多技术协同工作。看看更多演示使用 Django 的云指南:

祝您编程愉快!

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。