Django REST Framework Swagger身份验证E

2024-06-03 13:44:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我遵照指示in the docs。所以我的观点是:

from rest_framework.decorators import api_view, renderer_classes
from rest_framework import response, schemas
from rest_framework_swagger.renderers import OpenAPIRenderer, SwaggerUIRenderer


@api_view()
@renderer_classes([OpenAPIRenderer, SwaggerUIRenderer])
def schema_view(request):
    generator = schemas.SchemaGenerator(title='Bookings API')
    return response.Response(generator.get_schema(request=request))

我在我的urls.py中添加了以下内容:

^{pr2}$

当我转到项目的/docs/页面时,我得到了以下错误:

401 : {"detail": "Authentication credentials were not provided."} http://127.0.0.1:8000/docs/?format=openapi

在浏览器控制台中,我收到以下消息:

Unable to Load SwaggerUI init.js (line 57)

当cd4{my}的api设置为


Tags: fromimportviewrestapidocsresponserequest
2条回答

Isn't there a way to login as an admin, or any other user to view the docs.

如果只使用令牌身份验证,请先create tokens for your users,然后通过设置头来访问资源

curl -X GET http://127.0.0.1:8000/api/example/ -H 'Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b'

我想我已经找到了解决办法。在

settings.py中,我添加了以下设置:

SWAGGER_SETTINGS = {
    'SECURITY_DEFINITIONS': {
        'api_key': {
            'type': 'apiKey',
            'in': 'header',
            'name': 'Authorization'
        }
    },
}

然后,当我加载页面时,我只需单击右上角的授权按钮,并在文本字段中输入该值:

^{pr2}$

但是,我仍然需要将schema view的权限类设置为AllowAny。auth令牌允许我从不同的用户切换,允许我查看不同的端点集。在

相关问题 更多 >