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'}}
提供详细信息后, 请使用migration命令检查连接。
$ python3 manage.py migrate
此命令将为admin, auth, contenttypes和session创建表。参见示例。
现在, 访问MySQL数据库并从数据库列表中查看该数据库。创建的数据库包含下表。
注意:如果数据库连接失败, 它将引发错误:django.db.utils.OperationalError:(1045, “拒绝用户’ root’ @’ localhost’ 的访问(使用密码:是)“) 迁移模型 好了, 到这里为止, 我们已经学习了将Django应用程序连接到MySQL数据库。接下来, 我们将看到如何使用模型创建表。
每个Django模型都映射到数据库中的一个表。因此, 在创建模型之后, 我们需要迁移它。让我们来看一个例子。
假设我们在models.py文件中有一个模型类Employee, 其中包含以下代码。
// models.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"
Django首先创建一个迁移文件, 其中包含表结构的详细信息。要创建迁移, 请使用以下命令。
$ 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数据库连接】请参阅, 数据库中存在一个表。好了, 我们已经成功地在Django应用程序和MySQL数据库之间建立了连接。
推荐阅读
- Django数据库迁移
- 使用Django创建CSV
- Django CRUD(创建读取更新删除)示例
- Django Cookie使用
- Django应用程序
- 使用Apache Web服务器进行Django配置
- 带有Bootstrap的Django
- Django管理界面
- Writing your first Django app--2017年5月9日