Django常见BUG处理
Django查看版本
方法一(命令行):
python -m django --version
方法二(交互式):
>>> import django
>>> print(django.VERSION)
Django连接数据库常见问题
1、mysqlclient 1.3.13 or newer is required; you have 0.9.3
准备将 Django 连接到 MySQL,在命令行输入命令 python manage.py makemigrations 后报错: django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
由于 mysqlclient 目前不支持高版本python,出现这个错误之后可以根据错误提示找到文件位置,打开 base.py 文件(Python\lib\site-packages\django\db\backends\mysql\base.py
),找到以下代码:
version = Database.version_info
if version < (1, 3, 13):
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
将 if 语句注释掉之后在执行命令就不会再报错:
version = Database.version_info
# if version < (1, 3, 13):
# raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
2、Error loading MySQLdb module.
python3 与 Django 连接数据库:Error loading MySQLdb module: No module named ‘MySQLdb’
在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用
在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用
但是在 Django 中, 连接数据库时使用的是 MySQLdb 库,这在与 python3 的合作中就会报以下错误了
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb’
解决方法:在 init.py 文件中添加以下代码即可。
import pymysql
pymysql.install_as_MySQLdb()
# 没找到 install_as_MySQLdb() 这个方法的源码,不过顾名思义应该是让 Django 把 pymysql 当成 MySQLdb 来使用吧
来源:CSDN
作者:Delong-Zhang
链接:https://blog.csdn.net/Delong_Zhang_China/article/details/103943860