
因此,如图中所示,是否有任何方法隐藏“title”属性foreach项?我不太明白这些标题的目的。
发布于 2021-12-01 14:34:52
基于drf_yasg 文档 ,您应该首先定义一个类,为每个API定义一个没有标题的模式,如下所示:
from drf_yasg.inspectors import FieldInspector
class NoSchemaTitleInspector(FieldInspector):
def process_result(self, result, method_name, obj, **kwargs):
# remove the `title` attribute of all Schema objects
if isinstance(result, openapi.Schema.OR_REF):
# traverse any references and alter the Schema object in place
schema = openapi.resolve_ref(result, self.components)
schema.pop('title', None)
# no ``return schema`` here, because it would mean we always generate
# an inline `object` instead of a definition reference
# return back the same object that we got - i.e. a reference if we got a reference
return result现在您应该定义一个类来使用drf_yasg 自动删除标题,因此您需要定义如下所示的类:
class NoTitleAutoSchema(SwaggerAutoSchema):
field_inspectors = [NoSchemaTitleInspector] + swagger_settings.DEFAULT_FIELD_INSPECTORS在这里,像下面的片段一样,您可以从API视图集中隐藏所有标题属性:
class ArticleViewSet(viewsets.ModelViewSet):
swagger_schema = NoTitleAutoSchema
...https://stackoverflow.com/questions/69721037
复制相似问题