关于python使用django创建mysql表报错问题的解决
Posted gongezh519618
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python使用django创建mysql表报错问题的解决相关的知识,希望对你有一定的参考价值。
django 默认使用的数据库是sqlite
在项目中通常用mysql作为数据库,这就需要对mysql进行一些基本配置
1.在与项目名同名的文件夹下找到setting文件,找到
# DATABASES =
# ‘default‘:
# ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
# ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
#
# 并将其注释
2.在下面加上mysql的配置
DATABASES =
‘default‘:
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘xxx‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘root‘,
‘HOST‘:‘localhost‘,
‘PORT‘:‘3306‘,
3.如果遇到如下报错:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
解决方案:
首先 pip install pymysql
再在项目名同名的文件夹下的__init__.py文件中
加入
import pymysql
pymysql.install_as_MySQLdb()
接下来如果遇到这个错误提示
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.
解决方案:
找到报错路径,如:E:\\PycharmProjects\\s14_day20\\venv\\Lib\\site-packages\\django\\db\\backends\\mysql\\base.py
找到文件将第35行 36行注释
再将operations文件的第146行:
query = query.decode(errors=‘replace‘) 改为query = query.encode(errors=‘replace‘)
至此 问题已经得到解决
以上是关于关于python使用django创建mysql表报错问题的解决的主要内容,如果未能解决你的问题,请参考以下文章
mysql创建表报错:ERROR 1118 (42000) ...Row size too large (> 8126)
mysql创建表报错:ERROR 1118 (42000) ...Row size too large (> 8126)