将标头值传递给 django 中的 get 请求

Mhm*_*izk 3 python django django-rest-framework

我想通过 get 请求的标头传递一个值。

我尝试下面的方法,但它不起作用,

class ListCategoriesView(generics.ListAPIView):
"""
Provides a get method handler.
"""
serializer_class = CategorySerializer

def get(self, request, *args, **kwargs):
    token = request.data.get("token", "")
    if not token:
      """ 
          do some action here
      """
    if not UserAccess.objects.filter(accessToken=token).exists():
      """ 
          do some action here
      """
    else:
      """ 
          do some action here
      """
Run Code Online (Sandbox Code Playgroud)

我想在标头中传递令牌,如下所示:

在此输入图像描述

任何人都可以帮助我解决这个问题,非常感谢。

Dan*_*man 5

你自己说过,你在标题中传递它,所以你需要从那里获取它。DRF 没有做任何特殊的事情来访问标头,因此它代理到底层 Django HttpRequest 对象,这使得它们可以通过属性 来访问META转换为大写并以 为前缀HTTP_

token = request.META.get("HTTP_TOKEN", "")
Run Code Online (Sandbox Code Playgroud)