Django2.2.1和python3.7用pymysql替换MySqldb出错解决办法
第一步在项目的.py,添加如下两行,使用pymysql替换mysqldb
import pymysql
pymysql.install_as_MySQLdb()
第二步发现还是报错,错误原因是pymysql虽然替换了mysqldb,但是版本号pymysql版本号低于mysqldb太多。
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer
找到Python安装路劲下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件
将文件中的如下代码注释
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.version)
第三步,python manage.py createsuperuser报错
Django报错:” File “manage.py”, line 14 ) from exc ^ SyntaxError: invalid syntax”
错误原因是python命令行使用的是python2,请使用python3 manage.py createsuperuser
第四步报错
'str' object has no attribute 'decode' django mysql
顺着报错文件点进去,找到query = query.decode(errors=‘replace’)
将decode修改为encode即可
第五步
settings.py配置mysql连接库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名',
'USER':'用户名',
'PASSWORD':'密码',
'HOST':'127.0.0.1',
'PORT':'3306',
}
第六步,django设置显示中文菜单
在settings.py中设置:
LANGUAGE_CODE = 'zh_Hans'