1.what is PyMySQL?
PyMySQL是从Python连接到MySQL数据库服务器的接口。它实现了Python数据库API v2.0,并包含一个纯Python的MySQL客户端库。 PyMySQL的目标是成为MySQLdb的替代品。
1.安装pymysql包
①常规操作:Pycharm ->File点击setting ->Project文件下 ->点击Project Interpreter ->点击右边+号,找到pymysql,安装install package。
②终端cmd:pip install pymysql (推荐使用这个)
2.修改项目的_init_.py
import pymysql
pymysql.install_as_MySQLdb()
3.修改项目的settings.py
① 新建数据库testdemo
② 换掉DATABASES中的内容(内置数据库),因为要使用自己的数据库(mysql)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库的类型
'NAME': 'testdemo', # 新创建的数据库testdemo
'USER': 'root', # 数据库服务器的用户
'PASSWORD': '111', # 密码
'HOST': '127.0.0.1', # 主机
'PORT': '3306', # 端口
}
}
数据库已经配置成功
4.对django初始表进行迁"移
①查看settings.py文件,在INSTALLED_APPS中发现有很多内置的原始表等等"功能"。那么该如何使用呢?
②在url输入http://127.0.0.1:8000/admin/时,其实是应该报错的,因为页面找不到数据库表(no such table),因为没有连接表,可能是后面更新了吧。
③我想使用人家写好的表,那么需要执行迁移,将项目中原有的应用的模型同步迁移到新建的数据库testdemo中。于是在终端输入python manage.py migrate 进行迁移。
迁移成功:
迁移不成功:
解决方案:
进入到上图画红框的路径中,**\site-packages>django>db>backends>mysql 进到这个路径后,打开base.py进行修改。将下图的两行代码进行注释。python注释在语句前加#即可
④打开navicat/cmd 查看新建数据库testdemo中迁移后的新表。
⑤在终端进行项目启动python manage.py runserver,跳转到启动页面127.0.0.1:8000中,在url中输入127.0.0.1:8000/admin 会跳转到登录页面中,这个页面对应的背后的数据库就是我们刚刚新建的testdemo。之后我们就可以通过对testdemo数据库进行操作,实战理解前后端之间数据库的一个配置过程。