使用python3和Django搭建自己的服务器的时候使用的是sqlite数据库,一切顺利.
可是等到布置生产环境的时候要换成MySQL,根据Django官网的文档也设置好了setting.DATABASES
.
但是运行python3 manage.py makemigrations
的时候又遇到错误了,查看日志大概的问题就是:
ImportError: No module named 'MySQLdb'
,可是之前明明已经pip3 install pymysql
了,大概是因为Django默认的还是使用MySQLdb
吧. 尝试使用pymysql
代替'MySQLdb'.
在站点的__init__.py
文件中添加
import pymysql
pymysql.install_as_MySQLdb()
提交到服务器然后python3 manage.py makemigrations
然后python3 manage.py migrate
成功.
这样Django站点就成功使用MySQL作为数据库了.
配置settings使用mysql数据库:
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_blog',
'USER':'root',
'PASSWORD':'root',
'HOST':'localhost',
'PORT':'3306',
}
}
【转自】:http://www.jianshu.com/p/82781add8449