用Django做后台,客户端向Django请求数据,为了区分不同的请求,想把每个请求类别加在HTTP头部(headers)里面,需要从请求头中提取对应的参数。提取方法如下:
如何获取:
通过view函数传递过来的 reuqest,使用request.Meta.get("header key")来获取
代码:
from django.views import View from django.http import HttpResponse class ApiView(View): def get(self, request): ua = request.Meta.get('HTTP_USER_AGENT', 'unknown') return HttpResponse("Your browser is %s" % ua)
注意:
header key必须大写,且前缀必须是"HTTP",例如你的key为username,那么应该写成:request.Meta.get("HTTP_USERNAME")
后面如果连接符是横线“-”,会自动转换成下划线“_”。例如你的header的key为api-auth,那在Django中应该使用request.Meta.get("HTTP_API_AUTH")来获取请求头的数据。
django HttpRequest.Meta文档:
https://docs.djangoproject.com/en/2.2/ref/request-response/