Django :
a. MySQL数据表还未创建时,不可在视图内直接使用模型类对象,产生报错
django.db.utils.ProgrammingError: (1146, "Table 'django_demo.tb_goods' doesn't exist")
b. 编写类视图时,继承的父类错误 eg:`serializers.Serializer`应修改为继承`ModelViewSet`
type object 'BookInfoViewSet' has no attribute 'get_extra_actions'
c. django无法识别pymysql数据库驱动,没有调用 install_as_MySQLdb()方法导致的报错:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?
d. 数据库发生错误 检查以下配置:
查看项目的配置IP & port是否正确
查看系统的配置文件,IP&port 的绑定是否正确
BUG思路 :
1. 发送短信验证码不灵,且前端没有发送请求.前端js的问题(重点看浏览器内的js文件是否和项目的js代码一致,防止出现不同步现象)
2. 前端接收到了后端响应的数据,但页面不渲染展示:重点查看后端响应的数据格式(eg:期望返回字典外层却多套了列表)
4. 使用FastDFS存储图片时,若不能正常显示,查看 tracker&storage 是否开启, 检查FastDFS绑定的 ip&port 是否正确
5. 使用七牛云存储图片时,若使用的 码云/GitHub 托管代码,切记其配置文件不可上传
Flask :
a. 数据库没有指定 utf8编码而导致的错误
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366, "Incorrect string value: '\\\\xE8\\\\x80\\\\x81\\\\xE7\\\\x8E\\\\x8B' for column
b. 数据表的某一字段,如果为 '一对多关系中' 一的一方的反向引用字段,不可以直接对其进行赋值(从前端获取到的数据为一个列表),会产生报错:
'str' object has no attribute '_sa_instance_state' 解决 : 应从[多表]中查询出包含在列表内的模型对象,在进行[一]表的赋值
BUG思路 :
1. 断点打在视图函数第一行可鉴定前端请求是否发送,断点没过来前端的锅(路由是否正确),断点来到视图函数内但没有数据返回,后端的锅
2. 响应报文返回200但页面效果无改变 : 检查前后端请求&响应的关键字参数字段是否一致
3. 当指明了请求方式但未按照预期的发展,说明根本没有进入视图函数中,此时查看js在html页面中的是否引入问题,还有先后问题
MySQL :
数据库通过 xx.sql 文件新增数据时,如果发送外键错误(外键无法赋值,或外键必须给定....条件), 错误原因是 : 迁移建表时,字段顺序和文件中的赋值顺序不一致,得更改文件的插入数据顺序
Django框架无法迁移建表时,尝试如下命令 : python manage.py makemigrations 应用名 python manage.py migrate