Django Rest Framework:如何为基于函数的视图启用 swagger 文档视图、何为、函数、文档

由网友(男人不拽要俊逸)分享简介:I went through Django REST Swagger 2.1.2 documentation. When I tried with class based views, it was working fine.But i did not find any reference on how to enab...

I went through Django REST Swagger 2.1.2 documentation. When I tried with class based views, it was working fine.

But i did not find any reference on how to enable swagger for function based views as shown below:

@api_view(['GET', 'POST'])
def app_info(request): 
    ...
    return response
django rest framework 数据的查找 过滤 排序的示例

Most of my views.py is filled with function based views, just like above.

Any help on how to enable the same will greatly appreciated. Thanks!

I am using Django: 1.8; Django REST Swagger: 2.1.2; DRF: 3.6.2

解决方案

You should be able to use @renderer_classes decorator:

from rest_framework_swagger import renderers
from rest_framework.decorators import api_view, renderer_classes


@api_view(['GET', 'POST'])
@renderer_classes([renderers.OpenAPIRenderer, renderers.SwaggerUIRenderer])
def app_info(request): 
    ...
    return response

Also, it should be worth mentioning, that if you don't want to use this decorator on every view you can specify DEFAULT_RENDERER_CLASSES in settings

EDIT: It seems it's in the docs after all. Check the very bottom of this page: https://django-rest-swagger.readthedocs.io/en/latest/schema/

阅读全文

相关推荐

最新文章