Django2.0记request.META无法获取请求头相关数据解决办法

记一次Django踩坑:Django中request.META中存放客户端请求头数据,按如下方式取出数据:

request.META['some_key']

这样可以获取客户端在请求头中存放的{'some_key':'some_data'}数据,但是这样不安全,推荐使用字典的get方法:

request.META.get('some_key', None)

这样的方式在本地调试没有任何问题,但是部署到服务器便出现了问题,输出request.META发现没有客户端传来的信息.
我的服务端环境:

  • Nginx
  • gunicorn
  • django
  • supervisor

看到rest-framework文档中有写到使用Apache配置Django时,有无法传递请求头的情况,但我用的是Nginx,后来尝试各种解决办法终于发现:
使用类似'key'这样的键传递请求头可以被接收,但如果使用'some_key',加上一条下划线就不能被接收了!...
暂不知道原因,现贴出解决办法,给同样碰到类似问题的同学.

你可能感兴趣的:(Django2.0记request.META无法获取请求头相关数据解决办法)