数据库创建
分析自己所需项目需要的数据库的表,以及每个表之间的联系 在MySQL中创建数据库
配置数据库
- 首先我们需要下载mysqlicient,Django框架连接数据库都需要安装mysqlicient。
如果不安装,则会出现如下错误: - 安装mysqlicient:
pip install mysqlclient - 配置数据库
在setting.py中进行数据库的配置。此时需要注意,Django默认里按揭的是sqlite数据库,我们使用MySQL进行进行配置,需要修改其配置信息。 此为django1/settings.py的代码
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'USER': '数据库用户名',
'PASSWORD': '数据库密码',
'HOST': 'localhost',
'PORT': '3306'
}
}
创建应用
在一个工程中可以创建多个应用(app)。每个应用对应一个业务 创建一个应用。在命令行中进入manage.py所在的目录 然后输入python manage.py startapp 应用名称 此时目录结构变为: 该目录就是应用所在的目录
定义模型类
Django通过定义模型类去访问数据库,而不是直接操作数据库的表。 几个表就对应几个类,创建类并填入对应的字段 for example:
from django.db import models
class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateTimeField()
def __str__(self):
return self.btitle
class HeroInfo(models.Model):
hname = models.CharField(max_length=20)
hgender = models.BooleanField()
hcontent = models.CharField(max_length=200)
hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE)
def __str__(self):
return self.hname
生成数据库上的表
- 激活模型
在settings.py中,在INSTALLED_APPS最后添加应用的名称 django1/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'应用名称'
]
- 迁移
在DOS终端输入命令python manage.py makemigrations 结果如下:
留意在booktest目录下会生成migrations子目录,子目录里面有两个文件0001_initial.py和__init__.py
- 执行迁移
执行SQL语句生成数据库 在DOS终端输入命令python manage.py migrate 结果如下:
此时,刷新数据库可以看到看到多了一堆表 这里重点看的表是应用名_模型类名命名的表 此时我们就可以对数据对数据库进行增删改查的操作了。
|