Django默认使用的数据库是SQLite,但在实际中大部分公司或个人开发者都会采用MySQL,原因肯定是MySQL比较好用啊。
在配置MySQL的过程可能会出现一点问题,这里记录一下过程与问题
记录
- Django的默认配置文件在生成项目时候,会有一个settings.py文件,里面有各种配置其中有一项是配置数据库的。
我们修改如下:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': 'test',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': 3306
}
}
MySQL的详细配置信息在官网的这个位置:MySQL注意事项
到这里,我们是配置了Django使用MySQL数据库,但是python的mysql库还没有安装。
- 安装MySQL的python驱动,mysqlclient是MySQL的官方驱动,推荐用这个,但是在Mac上安装的时候会有小的bug,官网也指出了。不过不难解决
2.1 Mac系统安装mysqlclient. 首先安装mysql-connector-c
brew install mysql-connector-c
2.2 如果只执行上一步之后,直接安装会出现如下错误

2.3 进行修复,根据官网的提示,修改mysql_config,不管电脑上装了几个MySQL程序,修改brew安装的那个mysql_config,位置在/usr/local/bin/mysql_config
修改文件内容:
修改之前:

修改之后:

也就是从:
libs="$libs -l "
变为:
libs="$libs -lmysqlclient -lssl -lcrypto"
- 再次安装mysqlclient

- 启动项目即可。现在Django可以正常的使用MySQL数据库了。
最后
如有错误,欢迎指出。
网友评论