×

Python Django

Django2.2.1和python3.7用pymysql替换MySqldb出错解决办法

小飞侠 小飞侠 发表于2020-11-22 16:10:19 浏览1701 评论0

抢沙发发表评论

Django2.2.1和python3.7用pymysql替换MySqldb出错解决办法

第一步在项目的init.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'



欢迎评论

访客