首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django localtime

django localtime
EN

Stack Overflow用户
提问于 2013-01-23 06:18:53
回答 2查看 2.7K关注 0票数 1

我试图在我的模板中将utc时间转换为本地时间,并且出于某种原因这样做:

代码语言:javascript
复制
{% load tz %}

{% localtime on %}
{{ value }}
{% endlocaltime %}

仍然以utc为单位提供价值

然而,

代码语言:javascript
复制
{{ value|localtime }} 

为我提供使用本地时区设置的值

将settings.py中的USE_TZ设置为True似乎也无济于事

知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2013-01-23 06:28:37

您试图显示的{{ value }} date/time对象是一个朴素的datetime对象。朴素的datetime对象不会转换成模板标签--你的第一个例子,但会转换成模板过滤器--你的第二个例子。

See the first warning here

"Naive“与datetime对象的创建方式有关。有关如何更改日期/时间对象time aware的信息-允许其在模板标记中使用-请查看This Thread

票数 0
EN

Stack Overflow用户

发布于 2013-07-17 14:33:19

我已经创建了一个简单的中间件来为您处理所有这些事情:

https://github.com/Miserlou/django-easy-timezones

只需安装它,并遵循说明,您就完成了!

  1. 安装django-easy-timezones

pip install django-easy-timezones pytz pygeoip

  • 将"easy-timezones“添加到您的INSTALLED_APPS设置,如下所示:

INSTALLED_APPS = ( ... 'easy-timezones', )

  • 将EasyTimezoneMiddleware添加到您的MIDDLEWARE_CLASSES

MIDDLEWARE_CLASSES = ( ... 'easy-timezones.middleware.EasyTimezoneMiddleware', )

  • 在设置文件中添加MaxMind GeoIP database的路径:

GEOIP_DATABASE = '/path/to/your/geoip/database/GeoIP.dat'

  • 在您的模板中启用本地时间。

{% load tz %} The UTC time is {{ object.date }} {% localtime on %} The local time is {{ object.date }} {% endlocaltime %}

  • Tada!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14469104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档