Django教程-数据库连接
settings.py文件包含所有项目设置以及数据库连接详细信息。默认情况下,Django 使用SQLite数据库,也允许配置其他数据库。
数据库连接需要所有连接详细信息,例如数据库名称、用户凭据、主机名驱动器名称等。
为了连接MySQL,django.db.backends.mysql驱动程序用于在应用程序和数据库之间建立连接。让我们看一个例子。
我们需要在设置文件中提供所有连接详细信息。我们项目的settings.py 文件包含以下数据库代码。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'djangoApp','USER':'root','PASSWORD':'mysql','HOST':'localhost','PORT':'3306'}}
👉点击领取:最全Python资料合集
$ python3 manage.py migrate现在,访问MySQL数据库并从数据库列表中查看该数据库。创建的数据库包含以下表格。
注意:如果数据库连接失败,它会抛出错误:django.db.utils.OperationalError: (1045, "Access returned for user 'root'@'localhost' (using password: YES)")
迁移模型
好了,到这里,我们已经学会了如何将 Django 应用程序连接到 MySQL 数据库。接下来,我们将了解如何使用模型创建表。
每个 Django 的模型都映射到数据库中的一个表。因此,创建模型后,我们需要对其进行迁移。让我们看一个例子。
假设,我们在models.py文件中有一个模型类 Employee,其中包含以下代码。
// 模型.py
from django.db import modelsclass Employee(models.Model):eid = models.CharField(max_length=20)ename = models.CharField(max_length=100)econtact = models.CharField(max_length=15)class Meta:db_table = "employee"
$ python3 manage.py makemigrations创建的迁移文件位于migrations文件夹中,并包含以下代码。
from django.db import migrations, modelsclass Migration(migrations.Migration):initial = Truedependencies = []operations = [migrations.CreateModel(name='Employee',fields=[('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),('eid', models.CharField(max_length=20)),('ename', models.CharField(max_length=100)),('econtact', models.CharField(max_length=15)),],options={'db_table': 'employee',},),]
$ python3 manage.py migrate再次检查数据库,现在包含了employee表。
看,数据库中存在一个表。好了,我们已经成功在 Django 应用程序和 MySQL 数据库之间建立了连接