使用 Django 连接已有 MySQL 数据库的教程

Django 是一个强大的 Python Web 框架,因其简洁、灵活而受到广泛欢迎。当我们需要使用 Django 创建 Web 应用时,往往会面临如何连接现有的 MySQL 数据库的问题。本文将详细介绍如何使用 Django 连接已有的 MySQL 数据库,并提供相关代码示例。

准备工作

在我们开始之前,确保你已经安装了以下软件:

  1. Python 3
  2. Django
  3. MySQL 数据库
  4. mysqlclient 或者 PyMySQL 库,用于 Django 连接 MySQL

你可以使用以下命令安装 Django 和 mysqlclient

pip install django mysqlclient

对于 PyMySQL,你可以使用以下命令:

pip install pymysql

创建 Django 项目

首先,在终端中使用 Django 命令创建一个新的项目。例如:

django-admin startproject myproject
cd myproject

配置数据库连接

打开项目中的 settings.py 文件,找到 DATABASES 配置部分,修改为你的 MySQL 数据库连接信息。例如:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 使用 MySQL 数据库
        'NAME': 'your_database_name',           # 数据库名称
        'USER': 'your_username',                 # 数据库用户名
        'PASSWORD': 'your_password',             # 用户密码
        'HOST': 'localhost',                     # 数据库主机
        'PORT': '3306',                          # MySQL 默认端口
    }
}

在上述代码中,替换 your_database_nameyour_usernameyour_password 为你的具体数据库信息。

迁移和创建模型

接下来,我们需要创建一个模型并进行数据库迁移。可以在 myapp/models.py 中定义模型:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

然后在终端中运行迁移命令以创建数据库表:

python manage.py makemigrations
python manage.py migrate

测试数据库连接

我们可以在 Django 的 Shell 中测试与数据库的连接。使用以下命令进入 Django Shell:

python manage.py shell

然后输入:

from myapp.models import Article

# 创建一篇文章
article = Article(title='Hello World', content='This is my first article.')
article.save()

# 查询文章
articles = Article.objects.all()
for a in articles:
    print(a.title)

状态图与序列图

在进行数据库连接的过程中,我们可以用状态图和序列图来表示流程。

状态图

以下是连接数据库的状态图:

stateDiagram
    [*] --> 初始化
    初始化 --> 连接MySQL
    连接MySQL --> 连接成功
    连接MySQL --> 连接失败
    连接成功 --> [*]
    连接失败 --> [*]

序列图

以下是与数据库交互的序列图:

sequenceDiagram
    participant User
    participant Django
    participant MySQL

    User->>Django: 请求保存文章
    Django->>MySQL: 保存数据
    MySQL-->>Django: 确认保存成功
    Django-->>User: 返回成功消息

结尾

通过以上步骤,我们成功地让 Django 与 MySQL 数据库连接,并创建了一个简单的模型和迁移数据库。借助 Django 强大的 ORM 系统,我们能够灵活地进行数据操作和管理。希望本文对你连接 Django 与已有 MySQL 数据库有所帮助,祝你在开发中取得成功!