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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值