DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
'default': {
'ENGINE': 'django.db.backends.MysqL',
'NAME': 'mysite0912',
'USER': 'root',
'PASSWORD': 'xxx',
'HOST':'xxxxx',
'PORT':'3306',
}
}
NAME即数据库的名字,在MysqL连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建
USER和PASSWORD分别是数据库的用户名和密码。
设置完后,再启动我们的Django项目前,我们需要激活我们的MysqL。
然后,启动项目,会报错:no module named MysqLdb
这是因为django默认你导入的驱动是MysqLdb,可是MysqLdb对于py3有很大问题,所以我们需要的驱动是PyMysqL
所以,我们只需要找到项目名文件下的__init__,在里面写入:
import pyMysqL
pyMysqL.install_as_MysqLdb()
问题解决!
- 2、执行python manage.py makemigrations
import pyMysqL
pyMysqL.version_info = (1, 4, 13, "final", 0) # 指定版本
pyMysqL.install_as_MysqLdb()
-
3、执行python manage.py migrate
-
4、再次执行,还是报错
- 这是由于字段中有汉字,创建库时添加 charset=utf8,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。