cut*_*eth 5 authentication django view django-rest-framework
我正在尝试调用使用 Django Rest Framework 制作的 api drf。我的情况是我想从另一个视图调用 api 获取响应并在模板中显示数据。我已经提到了这个 SO post,但由于我的视图集需要身份验证,因此无法成功调用。如果使用 url(默认方式)调用,则 Viewset 可以完美运行。视图集如下
class ViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows Objects to be viewed or edited.
"""
permission_classes = (permissions.IsAuthenticated,)
queryset = Myclass.objects.all()
serializer_class = MyclassSerializer
....
....
return response(json)
Run Code Online (Sandbox Code Playgroud)
从另一个视图调用这个 api 时,我得到的响应是401 page来自 drf api。
ipdb>view = Myview.as_view({'get':'list'}
ipdb>obj=view(request, *args, **kwargs)
ipdb> obj.data
{u'detail': u'Authentication credentials were not provided.'}
ipdb>obj.has_header('Authentication')
False
Run Code Online (Sandbox Code Playgroud)
我也尝试传递身份验证标头,但我不知道它是否正确。
view = MyViewSet.as_view({'get':'list'},{'token':'token'})
Run Code Online (Sandbox Code Playgroud)
这返回了一个错误参数令牌不被接受。我试过
view = MyViewSet.as_view({'get':'list'},Authentication={'token':'token'})
Run Code Online (Sandbox Code Playgroud)
但这也给我带来了错误。如何通过传递 auth 参数从另一个视图调用 api 视图集?
TIA
| 归档时间: |
|
| 查看次数: |
3305 次 |
| 最近记录: |