如何创建一个 Django 应用并连接到数据库

发布于:2024-05-08 ⋅ 阅读:(20) ⋅ 点赞:(0)

简介

Django 是一个用 Python 编写的免费开源的 Web 框架。这个工具支持可扩展性、可重用性和快速开发。

在本教程中,您将学习如何为一个博客网站建立与 MySQL 数据库的初始基础。这将涉及使用 django-admin 创建博客 Web 应用程序的骨架结构,创建 MySQL 数据库,并将 Web 应用程序连接到数据库。

Django 将为您提供一个开发环境,用于开发博客 Web 应用程序,但在将博客发布到互联网之前,您需要采取更多步骤。

先决条件

要按照本教程操作,您需要:

  • 一个安装了 Ubuntu 22.04 服务器,具有非 root sudo 权限的用户和防火墙。请按照我们的 Ubuntu 22.04 初始服务器设置指南进行设置。
  • 安装 MySQL 以用作数据库。您可以按照我们的教程《在 Ubuntu 22.04 上安装 MySQL》进行设置。
  • 设置 Python 环境。有关此操作,请参阅我们的教程《在 Ubuntu 22.04 上安装 Python 3 并设置编程环境》。

一旦所有内容都安装并设置好,您就可以继续进行第一步。

步骤 1 — 创建数据库

Django 支持多种流行的数据库管理系统,但本指南侧重于将 Django 连接到 MySQL 数据库。为此,您需要在 MySQL 实例上创建一个数据库,以及一个 Django 可以用来连接到数据库的 MySQL 用户配置文件。

要设置这一点,请使用以下命令连接到 MySQL 数据库,作为 root MySQL 用户:

sudo mysql

当提示符更改为以下内容时,您就知道已经进入了 MySQL 服务器:

使用以下命令检查当前数据库:

SHOW DATABASES;

假设您尚未创建任何数据库,您的输出将类似于以下内容:

+--------------------+
| Database       	|
+--------------------+
| information_schema |
| mysql         	|
| performance_schema |
| sys            	|
+--------------------+
4 rows in set (0.00 sec)

默认情况下,您将已经创建了 4 个数据库:information_schemaMySQLperformance_schemasys。您不需要操作这些数据库,因为它们包含了对 MySQL 服务器本身重要的信息。

而是,创建将保存博客数据的初始数据库。

要在 MySQL 中创建数据库,请运行以下命令,为您的数据库使用一个有意义的名称:

CREATE DATABASE blog_data;

成功创建数据库后,您的输出将如下所示:

Query OK, 1 row affected (0.00 sec)

验证数据库现在是否列在可用数据库中:

SHOW DATABASES;

blog_data 数据库现在应该列在输出中包含的数据库中:

+--------------------+
| Database       	|
+--------------------+
| information_schema |
| blog_data      	|
| mysql             	|
| performance_schema |
| sys            	|
+--------------------+
5 rows in set (0.00 sec)

接下来,创建一个单独的 MySQL 用户帐户,Django 将用于操作新数据库。创建特定的数据库和帐户可以从管理和安全的角度支持您。在本指南中,我们将使用名称 djangouser。您可以使用任何您喜欢的名称,但选择一个有描述性的名称可能会有所帮助。

您将创建此帐户,设置密码,并授予其对您创建的数据库的访问权限。首先,通过输入以下命令创建用户并设置其密码。请记住,通过在此示例中替换 password 来为您的数据库选择一个强密码:

CREATE USER 'djangouser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

让数据库知道 djangouser 应该完全访问您设置的数据库:

GRANT ALL ON blog_data.* TO 'djangouser'@'localhost';

现在您有了一个专门为 Django 创建的数据库和用户帐户。刷新权限,以便当前的 MySQL 实例知道您所做的最近更改:

FLUSH PRIVILEGES;

完成后,您可以通过输入 EXIT; 或按 CTRL + D 来退出 MySQL 服务器。

步骤 2 — 创建 MySQL 选项文件

与其在 Django 配置文件中指定 MySQL 连接详细信息,不如将它们存储在一个选项文件中。许多 MySQL 程序可以读取选项文件,也称为配置文件,用于存储启动选项或连接详细信息等信息。这样做很方便,因为您只需在一个地方存储数据库登录凭据。

使用您喜欢的文本编辑器打开 my.cnf 配置文件以更新您的 MySQL 凭据。这里我们将使用 nano

sudo nano /etc/mysql/my.cnf

添加以下行并包含您的相关信息:

…

[client]
database = blog_data
user = djangouser
password = your_actual_password
default-character-set = utf8

请注意,utf8 被设置为默认编码。这是在 MySQL 中对 Unicode 数据进行编码的常见方式。当您确定您的详细信息是正确的时,保存并关闭文件。如果您使用 nano 编辑文件,您可以按 CTRL + O 保存文件,然后按 CTRL + X 关闭编辑器。

编辑文件后,重新启动 MySQL 以使更改生效:

sudo systemctl daemon-reload
sudo systemctl restart mysql

请注意,重新启动 MySQL 需要几秒钟的时间,请耐心等待。


网站公告

今日签到

点亮在社区的每一天
去签到