django 使用PyMySQL連接mysql


* 安裝pymysql模塊

pip install pymysql

 

* settings.py添加下面設置

## pymysql repalce mysqldb
import pymysql
pymysql.install_as_MySQLdb()

 

* mysqlclient 版本太低 

 報錯:

raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

解決:

cd {python_root_dir}/Lib\site-packages\django\db\backends\mysql

base.py

# 找到base.py文件,注釋掉 base.py 中如下部分(35/36行)

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

 

* 編碼問題

報錯:

AttributeError: ‘str’ object has no attribute ‘decode’

解決:

cd {python_root_dir}/Lib\site-packages\django\db\backends\mysql

operations.py

#找到operations.py文件(146行),將decode改為encode
#linux vim 查找快捷鍵:?decode

if query is not None:
    query = query.decode(errors='replace')
return query

#改為
if query is not None:
    query = query.encode(errors='replace')
return query

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM