用Django全栈开发——04. 连接MySQL数据库

Posted 皮爷撸码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Django全栈开发——04. 连接MySQL数据库相关的知识,希望对你有一定的参考价值。

大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。

针对Peekpa.com,我们的数据有两个来源,一个是来自mysql数据库,另一个则是MongoDB。今天,我们现在这里配置一下MySQL的数据库。

配置Settings

首先,配置MySQL数据库,我们需要在setting.py文件里面修改DATABASES变量。将系统默认的变量修改成下面这个样子:

DATABASES = {
    'default': {
        # 数据库引擎(是mysql还是oracle等)
        'ENGINE''django.db.backends.mysql',
        # 数据库的名字
        'NAME''peekpa_db1',
        # 连接mysql数据库的用户名
        'USER''root',
        # 连接mysql数据库的密码
        'PASSWORD''Peekpa2020',
        # mysql数据库的主机地址
        'HOST''127.0.0.1',
        # mysql数据库的端口号
        'PORT''3306',
    }
}

但是由于我们的系统环境:

  • Python 3.6.3;

  • MySQL

  • Django2.1.15

所以,我们首先需要安装mysqlclient,因为Python用这个库来和MySQL数据库相连接。

$ pip install mysqlclient

如何验证mysqlclient安装是否成功?只需要在终端的python里面,通过import MySQLdb来查看是否能够成功导入就可。

用Django全栈开发——04. 连接MySQL数据库

001

如果没有出现上面的样式,会报错,如果是Mac用户的话,需要将以下三个内容做一下软连接处理:


$ ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/local/lib/libmysqlclient.21.dylib
$ ln -s /usr/local/mysql/lib/libssl.1.0.0.dylib /usr/local/lib/libssl.1.0.0.dylib
$ ln -s /usr/local/mysql/lib/libcrypto.1.0.0.dylib /usr/local/lib/libcrypto.1.0.0.dylib

注意,上面的数字1.0.0和21需要根据具体错误提示来做修改。

运行程序

这一切都做好之后,如果你运行你的Django程序,你就会发现它报错了:

MySQLdb._exceptions.OperationalError: (1049, "Unknown database 'peekpa_db1'")

为啥?是因为你的MySQL数据库里面还没有peekp_db1这个数据库,所以你需要首先手动的去创建一个database,名字叫peekpa_db1

这里就涉及到了MySQL的可视化工具了,这里罗列几种非常常见的MySQL GUI:

  • 官方出品的:MySQL Workbench。这个是免费的,但是功能相对比较少。(https://www.mysql.com/products/workbench/)

  • Navicat,这个是国产收费软件,但是可以试用14天。相对于前者,这个的功能要更强大。(https://www.navicat.com.cn/)

  • DBeaver,这个非常好用,十分的推荐。如果没有特别的需求,下载社区版本就可以,社区版本还是免费的。(https://dbeaver.io/download/)

  • JetBrain出品的DataGrip,非常的好用,如果你有JetBrain账号或者全家桶密钥的话,用这个不错。(https://www.jetbrains.com/datagrip/)

  • HeidiSQL,这个也比较好用,轻便小巧,喜欢的同学可以体验一下。(https://www.heidisql.com/download.php

你可以通过这些可视化工具连接到本地的数据库,然后创建一个名字叫peekpa_db1的databse。

当你创建好之后,再次运行你的Django项目,就不会报错了。

插件入口很好找,就在主页面右侧,有一个竖着的Database标签,点开就是。

002

之后,我们在讲述到CMS系统的时候,会详细的讲述如何使用PyCharm的Databse插件来查看我们的数据库。


至于另一种连接MongoDB数据,我们会在接下来的章节中给大家介绍。

技术总结

最后总结一下,

MySQL创建应用:

  1. 首先,本机要安装MySQL数据库,并且能够正常启动;

  2. 连接方法只需要在settings.py文件里面,配置DATABASES变量即可;

  3. 完毕。


获取代码的唯一途径:关注『皮爷撸码』,回复『代码』即可获得。

长按下图二维码关注,如文章对你有启发,欢迎在看转发





以上是关于用Django全栈开发——04. 连接MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

django 和 mysql 啥是“最大连接数”?

前端进阶全栈入门级教程nodeJs博客开发(二)安装mysql完善api接口对接mysql

全栈项目|小书架|服务器开发-Koa2 连接MySQL数据库(Navicat+XAMPP)

Django连接MySQL(OS:Ubuntu16.04)

西游之路——python全栈——Django~1

全栈项目|小书架|服务器开发-NodeJS 中使用 Sequelize 操作 MySQL数据库