Django连接mysql问题,NameError: name '_mysql'

我发现MySQL数据库无法正常启动,所以我卸载了Mysql 5.7。我安装了MySQL 8.0.21,我发现我的Django项目有问题。我想在我的 Django 项目上进行 makemigrations,然后我的 Django 项目出现错误。请帮忙,我不知道如何解决这个错误。



Django==2.1.5

mod-wsgi==4.7.1

mysql-connector-python==8.0.21

mysqlclient==2.0.1

Python 3.7.9

MySQL Ver 8.0.21

Setting.py


DATABASES = {

    'default': {

                'ENGINE': 'django.db.backends.mysql',

                'HOST': 'xxxxxx.compute.amazonaws.com',

                'PORT': '3306',

                'NAME': 'xxxxx',

                'USER': 'xxxxx',

                'PASSWORD': 'xxxxxx',

                'init_command': "SET sql_modes = 'STRICT_TRANS_TABLES'",

    },

}

python3 manage.py makemigrations


慕尼黑的夜晚无繁华
浏览 140回答 3
3回答

犯罪嫌疑人X

将 MySQL 与 Django 结合使用的推荐方法是安装mysqlclient而不是安装mysql-connector-python.如果您使用mysql-connector-python,那么您需要在 DATABASES 设置中将 更改为。'mysql.connector.django'DATABASES = {    'default': {                'ENGINE': 'mysql.connector.django',                'HOST': 'xxxxxx.compute.amazonaws.com',                'PORT': '3306',                'NAME': 'xxxxx',                'USER': 'xxxxx',                'PASSWORD': 'xxxxxx',                'init_command': "SET sql_modes = 'STRICT_TRANS_TABLES'",    },}

BIG阳

pip install PyMySQLDjango:设置.pyimport pymysql   pymysql.install_as_MySQLdb()源代码pymysql.__init__.pydef install_as_MySQLdb():    """     After this function is called, any application that imports MySQLdb or     _mysql will unwittingly actually use pymysql.     """     sys.modules["MySQLdb"] = sys.modules["_mysql"] = sys.modules["pymysql"]

慕码人8056858

你需要通过在ubuntu上运行它来安装缺少的pkg,然后重新启动mysqlsudo apt-get install libmysqlclient-dev python-dev sudo /etc/init.d/mysql restart
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python