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'  
    }  
}  

提供详细信息后,使用 migrate 命令检查连接。

$ python3 manage.py migrate  

此命令将为管理、身份验证、内容类型和会话创建表。请参阅示例。

1.png

现在,访问MySQL数据库并从数据库列表中查看该数据库。创建的数据库包含以下表格。

2.png

注意:如果数据库连接失败,它会抛出错误: 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 models  
class 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"  

Django 首先创建一个包含表结构详细信息的迁移文件。要创建迁移,请使用以下命令。

$ python3 manage.py makemigrations  

3.png

创建的迁移文件位于migrations文件夹中,并包含以下代码。

from django.db import migrations, models  
class Migration(migrations.Migration):  
    initial = True  
    dependencies = [  
    ]  
    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  

4.png

再次检查数据库,现在包含了employee表。

5.png

看,数据库中存在一个表。好了,我们已经成功在 Django 应用程序和 MySQL 数据库之间建立了连接。

标签: django语言, django教程, django技术, django学习, django学习教程, django下载, django开发, django入门教程, django进阶教程, django高级教程, django面试题, django笔试题, django编程思想