Dajango连接mysql问题

问题1

1、在使用 Django 连接 MySQL 数据库的时候,出现了错误
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb’

解决办法:
在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用
在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入import pymysql使用

感觉在上面的基础上把 python3 的 pymysql 库安装上去就行了,但是问题依旧
经过查阅得知, Django 依旧是使用 py2 的 MySQLdb 库的,得到进行适当的转换才行

在__init__.py 文件中添加以下代码

import pymysql
pymysql.install_as_MySQLdb()

在这里插入图片描述意思就是 Django 把 pymysql 当成 MySQLdb 来使用

问题2

搭建Django2.0+Python3+MySQL5时同步数据库时报错:
1、django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解决办法
找到Python安装路劲下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件
将文件中的如下代码注释
MySQLclient目前只支持到python3.4,因此如果使用的更高版本的python,可以修改下面路径的文件(即python的安装路径)

if version < (1, 3, 13):
    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

在这里插入图片描述重新在项目manage.py路劲下执行如下命令即可
python manage.py makemigrations
python manage.py migrate

问题3

File “D:\python3\Anaconda3\lib\site-packages\django\db\backends\mysql\operations.py”, line 146, in last_executed_query
query = query.decode(errors=‘replace’)
AttributeError: ‘str’ object has no attribute ‘decode’

解决办法:
D:\python3\Anaconda3\lib\site-packages\django\db\backends\mysql\operations.py
打开此文件把146行的decode修改为encode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值