CTh*_*mas 3 python mysql django mysql-8.0 django-2.2
我已经尝试了几乎所有的方法,包括搜索 StackOverflow 来解决这个问题,但我似乎仍然面临这个问题。我正在尝试将我的 Django 2.2.6 项目连接到我的 MySQL 版本 8 数据库,但运气不佳。
我已将 settings.py 文件更改为在数据库字典中包含以下键值对:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'portfoliodb',
'USER': 'c**********s',
'PASSWORD': 'XXX',
'HOST': 'localhost',
'PORT': '3306',
}
}
Run Code Online (Sandbox Code Playgroud)
打字
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
Run Code Online (Sandbox Code Playgroud)
我实际上有 mysqlclient,输入
pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)
返回以下内容:
requirement already met (1.4.4)
Run Code Online (Sandbox Code Playgroud)
我也试过
pip install pymysql
Run Code Online (Sandbox Code Playgroud)
然后编辑 init.py 文件以具有以下代码:
import pymysql
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)
同时保持我的数据库变量与上述相同。这样做会产生以下错误:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
Run Code Online (Sandbox Code Playgroud)
我已将 MySQL python 连接器下载并安装到我的系统上。
我尝试在 settings.py 中给空的 ALLOWED_HOSTS 变量作为我的本地主机的参数。
MySQL 服务器在 Django 之外运行良好,可以在终端上非常成功地访问。
我将 Databases 变量中的 Engine 替换为:
mysql.connector.django
Run Code Online (Sandbox Code Playgroud)
其中产生了以下错误代码:
django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'
Run Code Online (Sandbox Code Playgroud)
我设法在这里回答了我自己的问题,并考虑删除该帖子,但它可能会帮助其他人。我运行了命令
pip install mysql-connector-python
Run Code Online (Sandbox Code Playgroud)
在将 DATABASES 字典中的引擎值更改为:
'ENGINE': 'mysql.connector.django',
Run Code Online (Sandbox Code Playgroud)
MySQL数据库终于连接上了我的Django项目
| 归档时间: |
|
| 查看次数: |
2499 次 |
| 最近记录: |