Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        这次呢我们就讲讲Django如何链接mysql数据库吧,毕竟服务端开发数据库是必用的东西,Django链接数据库问题还是蛮多的,高版本的Python更是如此,下面我们就开始操作吧,我的Python版本是3.7.0,遇到的问题也是基于这个版本的,低版本的Python问题可能没这么多。

        前面我们讲到,settings文件中有一部分是关于配置数据库的,我们就从这儿开始吧,首先在settings中配置要调用的数据库,

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        配置呢像我这样配一配就OK了,但是用户名密码要用自己的啊,还有就是NAME那一项是数据库的名字,这个是要事先创建好的,其他就没啥问题要在settings中搞了。

        下一步呢就是在project下面的__init__文件中配置pymsql,为什么要配置pymysql呢,因为Python不支持mysql,需要一个中转,首先我们要在项目文件下面安装pymysql,一行命令就好  

                 Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

,然后再这样配一下就好啦

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        配置好了之后呢我们在app的models文件中添加我们要创建的数据库表,就像这样

                 Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        然后呢我们先看看我们数据库中原始的表

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        就这俩。

        配置好了之后呢我们在全局目录下下载一下mysqlclient,执行命令pip install mysqlclient就OK,这一步我没问题,有问题的只有去看看了,然后就开始最重要的数据库同步,按理论来说先执行python manage.py makemigrations就是对根据检测到的模型创建新的迁移就OK了呀,但是没想到居然问题这么多,首先看看下面这个问题

Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        看红框里面的说法,嗯django太新了看来是,然后我们到上面所说的目录里面看看bash.py文件,报错是说第36行

Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        嗯,看样子就是个warning,注释了就OK了

Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        OK,注释之后我们再运行看看

Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        woc,还是有问题,但是问题好像不一样了,看来还是有用的,这下看呢是string没有decode这个方法,估计是Python版本问题,我们把这个改成encode试试,找到路径下的operations.py文件146行Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        把这里的decode改成encode。保存再试试呢

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        感动,可以了,可以看到创建了我们刚才在models中配置的表。

然后呢就是使数据库状态与当前模型集和迁移集同布,简称数据同步,执行python manage.py migrate 就OK,这没啥问题

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        一切都弄好了之后呢,我们再看看数据库中现在的表呢

        Python-Django篇----用Python搭建自己的服务(一)(4):Django链接mysql数据库

        有了,没毛病,其他的呢估计是django自己创建的默认表。

        OK,这里没啥毛病啦,下次看看从数据库里面读取数据返回到我们的web页面吧