1. 重写get_swagger_view函数:
关键语句:
permission_classes = [permissions.IsAuthenticated]
# 将get_swagger_view函数代码复制一份,修改里面的permission_classes
def get_swagger_view(title=None, url=None, patterns=None, urlconf=None):
"""
登录访问API文档
Returns schema view which renders Swagger/OpenAPI.
"""
class SwaggerSchemaView(APIView):
_ignore_model_permissions = True
exclude_from_schema = True
# 将permission_classes中原来的AllowAny改成IsAuthenticated即可
permission_classes = [permissions.IsAuthenticated]
renderer_classes = [
CoreJSONRenderer,
renderers.OpenAPIRenderer,
renderers.SwaggerUIRenderer
]
def get(self, request):
generator = SchemaGene