Rest_框架_未经授权在Django大摇大摆

Rest_框架_未经授权在Django大摇大摆,django,django-rest-framework,swagger,Django,Django Rest Framework,Swagger,在django项目中,我对REST_框架有以下设置: REST_FRAMEWORK = { ... 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticatedOrReadOnly',), ... } 我想看到rest_框架中的所有方法未经授权就大摇大摆。我知道默认情况下,swagger不会显示您无权访问的方法。我怎样才能覆盖它 我已经尝试在我的SETTINGS.py文件中使用SWA

在django项目中,我对REST_框架有以下设置:

REST_FRAMEWORK = {
    ...
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticatedOrReadOnly',),
    ...
}
我想看到rest_框架中的所有方法未经授权就大摇大摆。我知道默认情况下,swagger不会显示您无权访问的方法。我怎样才能覆盖它


我已经尝试在我的SETTINGS.py文件中使用SWAGGER\u设置,但在我看来,它没有“无授权”选项。

如果您使用的是drf推荐的用于SWAGGER的
drf\u yasg
库,您可以使用这些模式视图设置:

# urls.py
from rest_framework import permissions

from drf_yasg import openapi
from drf_yasg.views import get_schema_view


schema_view = get_schema_view(
    openapi.Info(
        title="My API"
        # other info...
    ),
    public=True,
    permission_classes=(permissions.AllowAny,),
)

如果您正在使用drf推荐的用于swagger的
drf_yasg
库,则可以使用以下模式视图设置:

# urls.py
from rest_framework import permissions

from drf_yasg import openapi
from drf_yasg.views import get_schema_view


schema_view = get_schema_view(
    openapi.Info(
        title="My API"
        # other info...
    ),
    public=True,
    permission_classes=(permissions.AllowAny,),
)

非常感谢,它很有效!我们需要在openapi.Info方法中强制添加一个默认的_版本。非常感谢,它可以工作!我们需要在openapi.Info方法中强制添加一个默认的_版本。