drf踩坑记录
本文主要解决的问题:
-
问题一:Django启动报错:
AttributeError: ‘AutoSchema’ object has no attribute ‘get_link’
-
顶替二:Django启动报错
ImportError: Could not import 'rest_framework.schemas.coreapi.AutoSchema' for API setting 'DEFAULT_SCHEMA_CLASS'. ModuleNotFoundError: No module named 'rest_framework.schemas.coreapi'.
-
问题三:Django启动报错
AssertionError:
coreapimust be installed for schema support.
问题一和和二解决:
因为新版的restframework需要指定默认schema
所以需要在settings.py中添加如下代码
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema'
}
或者配置(推荐使用)
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema'
}
或者配置如下:
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.inspectors.AutoSchema'
}
使用了配置三然后又报错:must be installed for schema support.
解决方法如下安装pyyaml模块:
pip install coreapi pyyaml