我试图在我的模板中将utc时间转换为本地时间,并且出于某种原因这样做:
{% load tz %}
{% localtime on %}
{{ value }}
{% endlocaltime %}仍然以utc为单位提供价值
然而,
{{ value|localtime }} 为我提供使用本地时区设置的值
将settings.py中的USE_TZ设置为True似乎也无济于事
知道我做错了什么吗?
发布于 2013-01-23 06:28:37
您试图显示的{{ value }} date/time对象是一个朴素的datetime对象。朴素的datetime对象不会转换成模板标签--你的第一个例子,但会转换成模板过滤器--你的第二个例子。
"Naive“与datetime对象的创建方式有关。有关如何更改日期/时间对象time aware的信息-允许其在模板标记中使用-请查看This Thread
发布于 2013-07-17 14:33:19
我已经创建了一个简单的中间件来为您处理所有这些事情:
https://github.com/Miserlou/django-easy-timezones
只需安装它,并遵循说明,您就完成了!
pip install django-easy-timezones pytz pygeoip
INSTALLED_APPS = ( ... 'easy-timezones', )
MIDDLEWARE_CLASSES = ( ... 'easy-timezones.middleware.EasyTimezoneMiddleware', )
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 %}
https://stackoverflow.com/questions/14469104
复制相似问题