赞
踩
可以提供全局认证或者在具体的视图中通过设置authentication_classes类属性来设置来设置。
在继承了APIView的类视图中定义permission_classes = [permissions.IsAuthenticated]
AllowAny 允许所有用户
IsAuthenticated 仅通过登录认证的用户
IsAdminUser 仅管理员用户
IsAuthenticatedOrReadOnly 已经登陆认证的用户可以对数据进行增删改操作,没有登陆认证的只能查看数据。
可以对接口访问的频次进行限制,以减轻服务器压力,或者实现特定的业务。
对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。
对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序
REST framework提供了分页的支持。我们可以在配置文件中设置全局的分页方式。也可通过自定义Pagination类(继承PageNumberPagination),来为视图添加不同分页行为。在视图中通过pagination_class属性来指明。
REST framework提供了默认常处理,我们也可以自定义的方式来编写异常处理函数。 在主应用的配置文件settings.py中声明自定义的异常处理。
DRF中默认的异常
ParseError 解析错误
AuthenticationFailed 认证失败
NotAuthenticated 尚未认证
PermissionDenied 权限受限
NotFound 未找到路由
MethodNotAllowed 请求方式不支持
NotAcceptable 要获取的数据格式不支持
Throttled 超过限流次数
ValidationError 校验失败
DRF 需要安装 coreapi库的支持。
pip install coreapi
1) 设置接口文档访问路径
REST_FRAMEWORK = { # 。。。 其他选项 # 接口文档
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema', }
2)路由配置
from rest_framework.documentation import include_docs_urls
urlpatterns = [
...
path('docs/', include_docs_urls(title='站点页面标题'))
]
3) 访问接口文档网页
浏览器访问 127.0.0.1:8000/docs/,即可看到自动生成的接口文档。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。