gpt4 book ai didi

django - 使用Django Rest框架在发布请求时获取自定义 header

转载 作者:行者123 更新时间:2023-12-03 11:09:53 46 4
gpt4 key购买 nike

我正在向使用django rest框架制作的API发送发布请求:

curl --header "X-MyHeader: 123" --data "test=test" http://127.0.0.1:8000/api/update_log/

在我的其余框架 View 中,我想获取Costum header ,如果自定义 header 满足条件,我将继续分析我的帖子数据。

好的,我的 View 如下所示:
class PostUpdateLogView(APIView):
throttle_classes = ()
permission_classes = ()
parser_classes = (
parsers.FormParser,
parsers.MultiPartParser,
parsers.JSONParser,
)

renderer_classes = (renderers.JSONRenderer,)

def post(self, request):
print request.Meta
# Get custom header
# Validate custom header
# Proceed to analize post data

# Make response
content = {
'response': 'response',
}

return Response(content)

我试图在request.Meta元素上找到我的自定义 header ,但是当我打印request.Meta时,出现500错误。如果我打印request.data,我将得到预期的响应。

¿使用django rest框架在我的帖子请求中获取自定义 header 的方法是什么?

最佳答案

请求的元数据属性的名称为大写:

print request.META

您的 header 将显示为:
request.META['HTTP_X_MYHEADER']

要么:
request.META.get('HTTP_X_MYHEADER') # return `None` if no such header

Quote from the documentation:

HTTP headers in the request are converted to META keys by converting all characters to uppercase, replacing any hyphens with underscores and adding an HTTP_ prefix to the name. So, for example, a header called X-Bender would be mapped to the META key HTTP_X_BENDER.

关于django - 使用Django Rest框架在发布请求时获取自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28345842/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com