Django - 从生产中访问请求META数据

时间:2012-05-29 16:00:28

标签: python django httprequest production-environment

我正在尝试通过格式化为其语言环境的JSON向客户端发送日期时间列表。

所以主要问题实际上是尝试获取客户端的语言环境。

我尝试使用request.META['LC_TIME'](这似乎是客户首选的日期和时间区域设置)

这个密钥正在开发中,但尚未投入生产。

  

KeyError:'LC_TIME'

怎么解释?我是在正确的轨道上吗?

1 个答案:

答案 0 :(得分:1)

首先,让我们确定您在“生产环境”下的含义。 在DEV环境下,浏览器直接连接到Django Web服务器,所有HTTP头都直接发送给它。 在PRODUCTION中,您通常有代理。这可能是一个nginx或其他类似的软件。它们的主要目的是在执行某些检查时重定向。您应该检查您的PRODUCTION环境,代理的实际设置是什么(如果有的话),以及它是否剥离从客户端发送的任何HTTP头(这似乎是您获得的错误的正当理由)。

除配置问题外,建议使用默认值:

user_lc_time = request.META.get('LC_TIME', default_lc_time)