- 环境介绍
- mysqlclient
- pymysql
- mysql-connector-python
参考链接:
-
Django 连接MySQL的驱动设定
-
python3应该用pymysql还是mysqlclient?两者有什么区别?
环境介绍
Django3.2 + mysql5.7.35
mysqlclient
安装的时候需要安装前置库或mysql,生产环境部署困难,弃之
pymysql
(大概50%的概率)报错ModuleNotFoundError at XXXXX
,提示:No module named 'MySQLdb.connections'
网上的教程说是在__init__.py
或settings.py
或manage.py
里写入:
import pymysql
pymysql.install_as_MySQLdb()
但是不论在哪里写都有这样的报错(发生位置不一样),弃之
mysql-connector-python
官方档案
- 在
settings.py
里更新DATABASE
的设定:DATABASES = { 'default': { 'ENGINE': 'mysql.connector.django', # 旧为'django.db.backends.mysql' 'NAME': 'controller', 'USER': 'root', 'PASSWORD': 'nbc@mux_dev', 'OPTIONS': { # 新增栏位'OPTIONS' 'autocommit': True, # 官网里有的栏位,不知道啥用 'use_pure': True, # 报错TypeError,搜了下,加上这个就好使了 }, 'HOST': '10.12.198.243', 'PORT': '3316' } }
- pip安装
mysql-connector-python
,卸载另外俩,目前能稳定运行
报错记录:TypeError: sequence item 1: expected a bytes-like object, str found
搜索得到:Django: how to install mysql/connector python with pip3
某个回答的某条评论:
添加'use_pure': True
后不报错了
0 评论