我一直在django解决一个小问题,但我还没有完全弄清楚。我有一个django应用程序在godaddy vps上运行视图.py我把这些行作为函数定义的一部分
currtime=datetime.datetime.now()
return render_to_response('test.html',{'currtime' : currtime })
现在在我的测试.html,im使用模板获取currtime
^{pr2}$我相信django中时区感知的datetime对象的要点是在通过模板呈现HTML时自动将时间转换为本地时间。。正如您在上面看到的,我已经加载了pytz库并启用了localtime。。。即使我在印度,我仍然得到一个当前的时间值,这个值和德克萨斯州的时间是一样的。 我想让它工作的原因是,我有一个数据库,日期时间存储在UTC,我希望时间显示在本地时间(即从UTC转换为本地时间)基于用户的地理位置。 任何帮助都将不胜感激,谢谢。在
我只是无意中在谷歌上搜索了一个相关的问题,但我想我会回答的,以防有人发现它。。。在
你所追求的不起作用,因为localtime意味着服务器上的本地时间(用您的设置中定义的时区表示)。服务器上运行的django应用程序无法确定客户端的时区。您应该在浏览器中检测时区,例如使用jstz。在
一个更可靠的解决方案是让用户选择自己的时区,同时也可以使用自动检测来设置选择(这样大多数时候他们就可以按OK)。当然,您可以将其存储在服务器上,从那时起,您可以使用用户的时区生成模板:
相关问题 更多 >
编程相关推荐