Django MySql 设置
我在Macports上安装了Mysql5、mysql5-server和py26-mysql。然后我启动了mysql服务器,并且可以通过mysql5
命令进入提示符。
在我的settings.py文件中,我把数据库引擎设置为“mysql”,并把数据库名称设置为“dev.db”。
我把用户名和密码留空,因为数据库还不存在。
当我运行python manage.py syncdb
时,django报了一个错。
错误信息是:'django.core.exceptions.ImproperlyConfigured: 加载MySQLdb模块时出错:动态模块没有定义初始化函数(init_mysql)'
我该怎么解决这个问题?我需要先创建数据库吗?还是说还有其他原因?
2 个回答
1
syncdb
并不会为你创建数据库,它只会在你的数据库结构中创建那些还不存在的表。你需要做以下几步:
- 创建一个用户来“拥有”这个数据库(不要用 root 用户,这样不好)。
- 用这个用户创建数据库。
- 在 Django 的数据库设置中更新正确的数据库名称、用户和密码。
1
你需要安装 MySQLdb:http://sourceforge.net/projects/mysql-python/
这个安装过程可能会让人很头疼,具体情况取决于你的电脑设置。可以看看其他人在 StackOverflow 上讨论的关于在 Mac OS X 上安装 MySQLdb 的内容:
如何在 Mac OS X 上安装 MySQLdb(Python 访问 MySQL 的库)?
编辑:抱歉,我刚才没注意到你已经通过 py26-mysql 安装了 MySQLdb,但这个错误似乎说明安装过程中出了问题。我在 Mac OS X 上使用 MySQLdb 时遇到过很多问题,总是需要做一些不同的事情才能让它正常工作。