返回博客

创建具有数据库连接的 Django 应用:教程

创建具有数据库连接的 Django 应用:教程

Django 是一个免费且开源的 Web 框架,构建于 Python。Django 首次发布于 2005 年,秉承“快速开发和干净、务实的设计”这一座右铭。该框架部署在 Web 服务器上,可以快速生成具有丰富功能、安全性和可扩展性的 Web 前端。

任何 Web 应用程序都依赖数据库来存储其内容。Django 作为一个现代框架,支持许多标准的数据库程序,例如 PostgreSQL, SQLite, MySQL 等。本指南将展示如何将 Django 应用程序连接到 MySQL 数据库.

前提条件

要学习本教程,在开始连接 Django 和数据库之前,您需要满足某些前提条件:

安装和配置 Python 3

Django 是用 Python 编写的。运行任何 Python 应用程序都需要在系统中安装 Python 二进制文件。Ubuntu 默认安装了 Python。在这里,我们将使用 Python 3。在终端中运行以下命令。首先,更新 APT 缓存并升级(如果可用)所有已安装的软件包:

Python 3 可以直接从官方 Ubuntu 软件包服务器获取。软件包 python-is-python3 创建了一个指向 python 二进制文件的软链接,指向 python3,以便于使用:

接下来,验证安装是否成功:

之后,我们需要 pip。它是标准的 Python 软件包管理器。它负责管理不属于标准库的其他 Python 库。请注意,我们正在安装 pip3(适用于 Python 3):

最后,我们需要一些额外的软件包来构建一个健壮的编程环境:

安装和配置 MySQL

本节将简要演示如何安装和配置 MySQL。它可以从默认的 Ubuntu 软件包仓库中获取:

如果安装成功,MySQL 将开始在后台运行。验证其是否正常工作:

Django App 1

MySQL 服务器已启动并运行。我们现在可以安全地过渡到 Django 应用程序的开发。

使用 Django

  • 建立示例 Django 应用程序

我们 Web 应用程序的基础工作需要 Django 项目骨架。它包含了创建健壮的 Web 应用程序所需的所有必要工具和库。首先,我们将为我们的 Django 应用程序创建一个专用目录。建议将该目录命名为有意义且与我们要构建的应用程序一致的名称。在此演示中,我们将其命名为 myDemoApp:

我们需要 Python 的 venv 模块在目录中创建一个虚拟环境。使用以下命令安装该模块 APT:

然后,导航 to 该目录并建立一个虚拟环境。为了清晰起见,我们将该环境命名为 demoapp_env:

接下来,通过运行以下命令激活虚拟环境 activate 脚本:

Django App 2

我们现在将在这个专用的虚拟环境中安装 Django。Pip 将下载并安装一些额外的组件:

Django 已安装并准备就绪。调用 django-admin 命令来创建一个新的 Django 项目。之后,给该应用程序起一个合适的名称:

它将创建一个包含所需项目文件和目录的演示项目:

Django App 3

项目骨架已准备就绪。接下来,我们需要对其进行妥善配置以实现我们的目标。

  • 编辑 Django 项目设置

项目的所有配置都存储在文件 settings.py 中。它位于 Django 项目目录内。我们将首先设置一个合适的时区,并列出可以连接到 Django 应用的主机。在文本编辑器中打开配置文件:

向下滚动脚本并找到条目 TIME_ZONE。为了进行演示,时区被设置为 America/New_York:

TIME_ZONE

作为参考,以下命令将打印 Linux 中所有支持的时区:

接下来,滚动到条目 ALLOWED_HOSTS。它控制哪些机器可以访问该应用。为了进行演示,它仅包含 localhost:

Django App 4然后,保存文件并关闭编辑器。下一个命令将应用更改:

python manage现在,我们需要为 Web 应用创建一个管理员账户。该账户将用于访问 Django 管理界面。运行以下命令:

Django App 5它将要求输入用户名、电子邮件和密码。该应用现在已准备好连接到数据库。

MySQL 连接

  • 安装 MySQL 连接器和开发库

为了将 MySQL 集成到 Django 应用中,我们需要一些额外的 Python 3 库来提供必要的工具。我们将使用数据库连接器 mysqlclient。它是 MySQLdb.

的分支。确保我们已安装 python3-dev

我们还需要一些额外的 Python 和 MySQL 头文件及库:

安装完成后,使用 pip 来安装 Python 模块 mysqlclient。它可能会生成一些可以忽略的错误消息:

  • 配置专用数据库

下一步是为我们的 Django 应用配置专用数据库和数据库用户。以 root 用户身份启动 MySQL shell:

要检查当前所有可用的数据库,请运行以下查询:

让我们为 Django 应用创建一个专用数据库。给它起一个与项目名称一致的合适名称:

然后,验证创建:

Django App 6现在,创建一个专用的 MySQL 用户。我们将把该用户配置为数据库的所有者。Django 应用将使用该用户的凭据来操作 MySQL 数据库:

授予用户 demoapp_user 针对数据库 demoapp_data 的全部权限:

要使权限更改生效,请重新加载 MySQL 授权表:

Django App 7数据库现在已准备好连接到 Django 应用。

  • 将数据库连接到 Django 应用

最后,我们将配置 Django 应用以使用该数据库进行数据存储。打开配置脚本 settings.py:

向下滚动到条目 DATABASES 并输入以下代码:

Django App 8保存文件并关闭编辑器。下一步是设置前面代码中描述的配置文件。使用 sudo 在描述的位置打开文本文件:

此配置文件将包含有关 Django 专用数据库以及我们在 MySQL 服务器中创建的用户的信息。在文件末尾添加以下行:

default-character-set要使更改生效,我们必须重启 MySQL 服务器:

  • 测试 MySQL 连接

现在是验证 MySQL 连接是否正常工作的时候了。如果 Django 服务器运行没有问题,那么连接就正常。否则,就是出了问题。首先,应用对 Django 项目所做的所有更改:

python manage现在,移动到以下项目目录并启动 Django 服务器:

python manage.py runserver接下来,尝试从 Web 浏览器访问服务器:

server_ip_address

瞧!我们已成功进入 Django 成功页面。这也验证了 MySQL 连接工作正常。任务完成后,您可以安全地退出虚拟环境:

结语

在本指南中,您学习了将 Django 和 MySQL 结合在一起的基础知识。我们创建了一个 Django 应用,并展示了如何将其与 MySQL 数据库连接。奥秘就在于 Django 配置文件 settings.py。我们还修改了一些基本设置,例如 ALLOWED_HOSTSTIME_ZONE。Django 非常灵活。除了 MySQL,它还支持其他 SQL 服务器(如 PostgreSQL)、服务器引擎(如 Nginx)等。

您还可以查看我们关于安装、配置和使用 Django 的最佳实践指南:

祝您计算愉快!

author

Hark Labs

作者 · CloudSigma

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

评论

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