int*_*_32 2 django django-rest-framework
我正在使用djangorestframework与以下代码:
class RegistrationView(APIView):
def post(self, request, format=None):
print self.request.META.get('API_KEY')
Run Code Online (Sandbox Code Playgroud)
然后它返回None(其他标题,如Content-Type或User-Agent可以).
但是这个标题肯定存在于请求中(这个键只有local-db,所以可以将它粘贴到这里):
为什么?
All*_*ітy 15
问题在于请求标头中的下划线.
将标题设置为API-KEY(使用连字符,而不是下划线),您可以使用它来捕获它
request.META.get('HTTP_API_KEY')
Run Code Online (Sandbox Code Playgroud)
这种行为的原因是某些服务器只是忽略下划线.
请参阅此相关问题为什么HTTP标头名称中禁止使用下划线