因为经常做django项目时,用到的数据都是经过爬虫手段保存在MySQL数据库中的,所以今天我们就来看看怎么将django与MySQL数据库连接在一起吧。
比如在这里,我们后期要用这里面的数据来完成我们的django项目时

我们应当如何解决这个问题呢?首先,我们先看一下该表的设计结构

然后我们创建一个django项目去
在settings.py配置数据库引擎
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dushu', # 数据库名字
'USER': 'root', # 数据库账号
'PASSWORD': 'wx990826', # 数据库密码
'HOST': '127.0.0.1', # 数据库主机
'PORT': '3306', # 端口
}
}
后台汉化配置
#汉化配置 LANGUAGE_CODE = "zh-hans" # 'en-us' TIME_ZONE = 'Asia/Shanghai'

然后测试看数据库是否配置成功
发现报以下错误

解决方案:
在python3中使用mysql,需要在项目目录下的init.py中加入下面这两行代码:
import pymysql pymysql.install_as_MySQLdb()
这时候再运行,就会发现没问题了,至于这里的爆红是因为告诉我们python3.6不再适合(可以忽略)

要想将数据库中的内容读取到,则需要在models.py里面写入对应的字段

然后执行迁移命令
1. 生成迁移文件
python manage.py makemigrations2. 同步到数据库中
python manage.py migrate
然后生成迁移文件

发现重新生成了一个映射文件,跟原来的没有关联上

这里我们可以做的是,
1.将原来有数据的表zgddxs改名为myapp_zgddxs,没数据的myapp_zgddxs命名为其他的。
2.将数据全部复制过去(不推荐)


然后创建一个超级用户去后台看是否关联上有数据的表

当然,不要忘记在admin.py里面注册表哈(不然看不见)
from django.contrib import admin
from .models import Zgddxs #导入定义模型类
@admin.register(Zgddxs)
class TagAdmin(admin.ModelAdmin):
list_display = ['id','name','author','src']

点击进去便能看到我们的数据了,说明关联成功

3043






