使用 Django 连接已有 MySQL 数据库的教程
Django 是一个强大的 Python Web 框架,因其简洁、灵活而受到广泛欢迎。当我们需要使用 Django 创建 Web 应用时,往往会面临如何连接现有的 MySQL 数据库的问题。本文将详细介绍如何使用 Django 连接已有的 MySQL 数据库,并提供相关代码示例。
准备工作
在我们开始之前,确保你已经安装了以下软件:
- Python 3
- Django
- MySQL 数据库
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_name
、your_username
和 your_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 数据库有所帮助,祝你在开发中取得成功!