Python 从Django连接到MySQL
这是我与django的第一个项目。我已经尝试了与sqlite的连接。但是现在我使用django与mysql的连接。我得到以下错误Python 从Django连接到MySQL,python,mysql,django,Python,Mysql,Django,这是我与django的第一个项目。我已经尝试了与sqlite的连接。但是现在我使用django与mysql的连接。我得到以下错误 D:\project\wogma>manage.py syncdb Traceback (most recent call last): File "D:\project\wogma\manage.py", line 11, in <module> execute_manager(settings) File "C:\Python2
D:\project\wogma>manage.py syncdb
Traceback (most recent call last):
File "D:\project\wogma\manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
340, in execute_manager
utility.execute()
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
295, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 192,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 218,
in execute
self.validate()
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 246,
in validate
num_errors = get_validation_errors(s, app)
File "C:\Python26\lib\site-packages\django\core\management\validation.py", lin
e 65, in get_validation_errors
connection.validation.validate_field(e, opts, f)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\validation.py", l
ine 8, in validate_field
db_version = connection.get_server_version()
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 27
7, in get_server_version
self.cursor()
File "C:\Python26\lib\site-packages\django\db\backends\__init__.py", line 56,
in cursor
cursor = self._cursor(settings)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 26
2, in _cursor
self.connection = Database.connect(**kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\connections.py", line 188, in __in
it__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1049, "Unknown database 'd:/project/wogma/w
ogma'")
D:\project\wogma>manage.py syncdb
回溯(最近一次呼叫最后一次):
文件“D:\project\wogma\manage.py”,第11行,在
执行\u管理器(设置)
文件“C:\Python26\lib\site packages\django\core\management\\uuuu init\uuuu.py”,第行
340,在执行管理器中
utility.execute()
文件“C:\Python26\lib\site packages\django\core\management\\uuuu init\uuuu.py”,第行
295,执行中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“C:\Python26\lib\site packages\django\core\management\base.py”,第192行,
从_argv运行_
self.execute(*args,**选项._dict__;
文件“C:\Python26\lib\site packages\django\core\management\base.py”,第218行,
执行中
self.validate()
文件“C:\Python26\lib\site packages\django\core\management\base.py”,第246行,
有效
num\u errors=get\u validation\u errors(s,app)
文件“C:\Python26\lib\site packages\django\core\management\validation.py”,lin
e 65,在get_验证_错误中
connection.validation.validate_字段(e、opts、f)
文件“C:\Python26\lib\site packages\django\db\backends\mysql\validation.py”,l
第8行,在validate_字段中
db\u version=连接。获取服务器\u版本()
文件“C:\Python26\lib\site packages\django\db\backends\mysql\base.py”,第27行
7,在get_服务器版本中
self.cursor()
文件“C:\Python26\lib\site packages\django\db\backends\\uuuu init\uuuuu.py”,第56行,
光标中
光标=自身。\u光标(设置)
文件“C:\Python26\lib\site packages\django\db\backends\mysql\base.py”,第26行
2,in_光标
self.connection=Database.connect(**kwargs)
文件“C:\Python26\lib\site packages\MySQLdb\\uuuu init\uuuuu.py”,第81行,在Connect中
返回连接(*args,**kwargs)
文件“C:\Python26\lib\site packages\MySQLdb\connections.py”,第188行,在
它__
超级(连接,自).\uuuu初始化(*args,**kwargs2)
_mysql_exceptions.OperationalError:(1049,“未知数据库'd:/project/wogma/w
ogma‘)
我在mysql中执行了如下命令..我已经使用create database n创建了wogma数据库,我在mysql中授予了..特权。
在prb中,您试图在文件路径中指定一个数据库(该路径适用于SQLite)。MySQL需要一个数据库名(例如“wogma”)。您必须按照说明安装MySQL,创建新用户和数据库等。看来您是在Windows上,所以我不能再帮您了
SHOW DATABASES代码>
wogma
,只需将其放入您的设置中(您使用的是django 1.1):
数据库_引擎='django.db.backends.mysql'
数据库名称='wogma'
数据库_主机='127.0.0.1'
数据库_端口='3306'创建数据库wogma
编码>并再次执行步骤
尝试此连接配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MY_DATABASE_NAME',
'USER': 'root',
'PASSWORD': 'MY_PASSWORD',
}
}
但是首先,在mysql中创建数据库。按照上面的回答,下面的代码将不起作用
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MY_DATABASE_NAME',
'USER': 'root',
'PASSWORD': 'MY_PASSWORD',
}
}
您必须下载MySQL连接器
。
请阅读在Django 2.1.x中设置MySQL数据库的帖子。@gunj:请修复键盘上的shift-lock键。