mac Django 連線mysql
mac django2.2正確連線mysql方式
mac Django 電腦連線mysql時候會出現一些錯誤,因為版本問題。以下操作Django2.2.22親測有效
1、先 pip install pymsql
在settings中新增資料庫相關配置
'default': {
'ENGINE': 'django.db.backends.mysql', # 資料庫引擎
'NAME': 'db2', # 資料庫名稱
'HOST': '127.0.0.1', # 資料庫地址,本機 ip 地址 127.0.0.1
'PORT': 3306, # 埠
'USER': 'root', # 資料庫使用者名稱
'PASSWORD': '12345678', # 資料庫密碼
}
2、# 在與 settings.py 同級目錄下的 init
import pymysql
pymysql.install_as_MySQLdb()
3、終端命令列方式匯入mysql-connector(命令失敗升級pip到最新試試 pip install --upgrade pip )
pip install mysql-connector
4、終端命令列方式匯入mysql-client(命令失敗升級pip到最新試試 pip install --upgrade pip )
pip install mysql-client
5、此時執行還是報錯,點選報錯資訊
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/backends/mysql/operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
修改一行程式碼聰明如你,看圖操作
看不懂圖那就點選報錯資訊
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/db/backends/mysql/operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
把146行程式碼 遮蔽了,複製在下面把decode改成encode
#query = query.decode(errors='replace')
query = query.encode(errors='replace')
問題描述
下面報錯資訊就都解決了