django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclie
百度得到的结论是python3不支持mysqldb了,可以使用pymysql来代替
找到(是默认生成的那个模块,就是用命令生成django项目的时候默认生成的第一个模块)自己项目模块的__init__.py
文件,
配置一下pymysql就好。
import pymysql
pymysql.install_as_MySQLdb()
说mysqlclient版本太低
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 37, in
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
django 使用PyMySQL连接mysql
解决Django配置pymysql因版本报错的解决方案
主要是修改一下文件的内容,这里记录一下mac的安装路径。
base.py的文件路径
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/mysql
修改一下内容,注释掉这两行
AttributeError: ‘str’ object has no attribute ‘decode’
解决方法
修改文件operations.py
,这个文件的路径和上面的那个文件的路径上一样的。
#找到operations.py文件(146行),将decode改为encode
#linux vim 查找快捷键:?decode
if query is not None:
query = query.decode(errors='replace')
return query
#改为
if query is not None:
query = query.encode(errors='replace')
return query
python3 manage.py migrate
如果成功了的话会数据库会生成这些表,这些表其实也可以不用的。
具体看文档 编写你的第一个 Django 应用,第 2 部分