📜  如何将 Mysql 数据库与 Django 集成?(1)

📅  最后修改于: 2023-12-03 15:24:43.519000             🧑  作者: Mango

如何将 Mysql 数据库与 Django 集成?

Django 是 Python Web 开发框架之一,而 Mysql 则是非常流行的关系型数据库之一。将两者结合起来可以方便地对数据库进行操作,本文将介绍如何将 Mysql 数据库与 Django 集成。

安装 Mysql 驱动

在开始前需要安装 Mysql 驱动,可以使用 pip 来安装:

pip install mysqlclient
配置数据库信息

在 Django 项目中需要在 settings.py 中配置数据库信息,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase', # 数据库名称
        'USER': 'mydatabaseuser', # 数据库用户名
        'PASSWORD': 'mypassword', # 数据库密码
        'HOST': 'localhost', # 数据库地址
        'PORT': '3306', # 数据库端口
    }
}

其中,ENGINE 选项指定了使用的数据库引擎,这里选用的是 Mysql;NAME 选项指定了数据库的名称;USER 选项指定了数据库的用户名;PASSWORD 选项指定了数据库的密码;HOST 选项指定了数据库的地址;PORT 选项指定了数据库的端口号。

创建 Django 应用

接下来需要创建一个 Django 应用,运行以下命令:

python manage.py startapp myapp

其中 myapp 是应用的名称。

myapp 应用的 models.py 文件中定义数据模型,如下所示:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()
    email = models.EmailField()

该模型定义了一个名为 Person 的数据模型,有 nameageemail 这三个属性。这里的属性类型都是 Django 框架支持的数据类型。

数据库迁移

接下来需要创建数据库表,运行以下命令:

python manage.py makemigrations myapp

然后再执行以下命令:

python manage.py migrate

这样就可以创建 myapp 应用下定义的所有模型对应的数据库表了。

使用 ORM 操作数据库

有了数据表,接下来就可以使用 ORM 操作数据库了。在 myapp 应用的 views.py 文件中编写如下代码:

from django.shortcuts import render
from .models import Person

def index(request):
    person_list = Person.objects.all()
    return render(request, 'index.html', {'person_list': person_list})

这里使用 Person.objects.all() 方法获取 Person 模型对应的所有数据,并将其传递给模板渲染。

myapp 应用下创建 index.html 模板文件:

{% for person in person_list %}
    <p>{{ person.name }} | {{ person.age }} | {{ person.email }}</p>
{% endfor %}

这个模板会显示 Person 模型中所有数据的 nameageemail 属性。

最后,在 myproject 项目下的 urls.py 文件中添加以下代码:

from django.urls import path
from myapp.views import index

urlpatterns = [
    path('', index, name='index'),
]

这样,就可以通过访问 http://127.0.0.1:8000/ 来查看数据库中的数据了。

以上就是如何将 Mysql 数据库与 Django 集成的详细教程,希望对你有所帮助!