我很确定我准确地遵循了本教程的程序,但我仍然遇到错误= /
目前,我的settings.py DATABASES看起来像这样
DATABASES = {
'default': {
'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'mysql','sqlite3' or 'oracle'.
'NAME': 'mydb', # Or path to database file if using sqlite3.
'USER': 'user', # Not used with sqlite3.
'PASSWORD': 'pwd', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
教程告诉我在ENGINE中有'mysql'。但是,当我尝试使用命令'python manage.py shell'时,我收到此错误
django.core.exceptions.ImproperlyConfigured: 'mysql' isn't an available database backend.
Try using django.db.backends.mysql instead.
Error was: No module named mysql.base
这就是为什么django.db.backends.mysql
旁边有ENGINE
。
在这些设置之后,教程告诉我输入这些命令
'python manage.py shell' <--- works fine
from django.db import connection <--- works fine
cursor = connection.cursor() <--- uh oh
运行cursor命令后,出现此错误
不确定这意味着什么= /
当我尝试使用python manage.py runserver
运行我的服务器时出现此错误。不确定这意味着什么,但最后一个错误似乎是相同的。
我也在线查看使用python manage.py dbshell
来测试我的数据库访问权限,这是我收到的消息。
Error: You appear not to have the 'mysql' program installed or on your path.
我在reddit上发布了这个问题,看看能否得到任何额外的帮助。我希望这些信息能够为这个问题提供额外的帮助。
你在使用什么操作系统?
在shell中输入MySQL时没有任何反应。当我输入命令'python manage.py shell'然后输入MySQL。我收到错误“NameError:name'MySQL'未定义”。当我在终端中输入MySQL时,它说MySQL:找不到命令
我如何安装MySQL是因为我下载了文件,然后解压缩了tar文件所在的位置。接下来,我将解压缩的文件夹放入/ home / Development目录。我的所有代码都存储在/ home / Development / djcode / mysite / mysite /
我正在使用Ubuntu
的 的 ** * *** 更新的 * 更新的 * ** * ** * * * * ** * **
所以我认为我的错误是因为我没有安装/下载MySQL。我所拥有的是MySQL-Python,这是不一样的......但是无论如何,我下载/安装了MySQL并运行python shell并使用'python manage.py shell'然后'从'django.db import connection'然后'cursor = connection .cursor()'
但是,我收到以下错误
操作错误:(1045,“访问被拒绝用户'bradford'@'localhost'(使用密码:是)”)
此时不知道该怎么做= /
答案 0 :(得分:3)
我猜你错过了Python MySQLDB
答案 1 :(得分:1)
看这里https://docs.djangoproject.com/en/dev/ref/settings/#engine
你应该使用
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
....
}
}
答案 2 :(得分:0)
这是对您的更新的回复。那是一个MySQL错误。 MySQL对用户能够访问数据库的方式和位置设置了限制。您可以找到文档here,但 tl; dr 是您需要确保用户存在,密码正确以及您是否从正确的域进行连接。< / p>