Django连接mysql

434 阅读2分钟

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

②终端cmdpip 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数据库进行操作,实战理解前后端之间数据库的一个配置过程。