我有一个django rest API,可以将学生列表提供给某些真正的用户。它需要从django视图中调用。目前,我在get_context_data内部使用带有令牌身份验证的请求库,如下所示:
import requests
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
token,created = Token.objects.get_or_create(user=self.request.user)
reverse_url = 'http://127.0.0.1:8000/api/students/'
response = requests.get(
reverse_url,
headers={'Authorization': 'Token {}'.format(token)}
)
context['object'] = response.json()
return context这是正确的方法吗?谢谢
发布于 2020-05-13 09:02:44
正如eugene在评论中提到的那样,调用view函数而不是网络请求是一种更好的方法。
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
response = LessonViewSet.as_view({'get': 'retrieve'})(
request=self.request,
pk=kwargs['pk']
).data
context['object'] = response
return contexthttps://stackoverflow.com/questions/61743937
复制相似问题