Django连接MySql和一些错误

最近写Django项目,不知道自己为了什么,不用自带的数据库,偏偏就是想用Mysql,用Mysql也罢了,可是中途还出现了好多错误,我还是记下来吧,我觉得我以后还是会遇到。 : (

我的项目名是kbquery,恩,我写的查课表,恩,我英语也不好。

环境 Ubuntu16.04  python3.5 + Django 2.0+mysql5.7.23

连接配置

Django自带着sqlite,其实说实话我用sqlite已经可以了,可能是因为一直用mysql吧,最后还是觉得了换掉,好那就先开始连接:

在项目目录下的kbquery下的settings.py中更改连接数据库的配置,修改成下面的模样,密码和用户对应改成自己的。

# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'kb',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST' : '127.0.0.1',
        'PORT' : '3306',

    }
}

之后哪,就可以连接了。

python3 manage.py migrate

顺利的话可以连接成功的,但是呢,我发现我不管做什么都不顺利。

错误1

前提是mysql数据库要安装好,然后因为我用的是python3, python3并不支持MySQLdb包,所以不能用它啊要换别的换别的,换成啥,换成pymysql,用pip3来安装:sudo pip3 install pymysql,在做这一步的时候,你可能还会发现,你的pip也需要更新一下,不然你可能没办法安装,好吧说的都是我。这些都做好之后,要去kbquery/__init__.py 修改一下:

import pymysql
pymysql.install_as_MySQLdb()

这样这样,就可以连接数据库了。

错误2

其实我到此为止还是会有错,但是这次是和数据库编码有关的错误。这个时候我就在想啊,我为什么要用 mysql 哼。

我要再说说我踩的坑!百度了好多啊!就是说这种

进入mysql后 执行 :show variables like "% character %";

然后你看哪个编码不是utf-8就在下面用命令该一下,set 啥啥啥 = utf-8,

什么嘛,改了之后重启mysql立马变回原来的模样!!生气嘛

直接去改配置文档吧!别挣扎啦。

还有在百度出来的mysql的配置文件和我的系统中的路径不同,我的配置文件在这里:

/etc/mysql/mysql.conf

修改下面的:

可以参考这篇https://blog.csdn.net/weixin_35793200/article/details/79434942

现在数据库终于可以正常连接上了!

猜你喜欢

转载自blog.csdn.net/qq_38595487/article/details/83098240
今日推荐