Django时区支持在模板之外
Django的时区感知输出。对于返回CSV或JSON的响应,有没有办法自动转换到当前活动时区?在模板中转换日期时间所调用的底层函数是Django时区支持在模板之外,django,timezone,django-timezone,Django,Timezone,Django Timezone,Django的时区感知输出。对于返回CSV或JSON的响应,有没有办法自动转换到当前活动时区?在模板中转换日期时间所调用的底层函数是django.utils.timezone.template\u localtime()。在源代码中紧靠它的是另一个实用程序函数,localtime,它看起来像: def localtime(value, timezone=None): """ Converts an aware datetime.datetime to local time.
django.utils.timezone.template\u localtime()
。在源代码中紧靠它的是另一个实用程序函数,localtime
,它看起来像:
def localtime(value, timezone=None):
"""
Converts an aware datetime.datetime to local time.
Local time is defined by the current time zone, unless another time zone
is specified.
"""
...
因此,或许以下方法可以奏效:
from django.utils.timezone import localtime, get_current_timezone
...
print localtime(obj.date_created, user.get_profile().timezone or get_current_timezone())
你在找django背景吗?或者一些特定于python的代码?也许可以尝试使用pytz?不,我希望得到与我向用户发送CSV或JSON响应时在模板中看到的相同的自动转换行为。我不相信模板之外有任何自动转换。。。你必须手动完成。是的,这就是我发现的。知道在模板上运行的逻辑发生在哪里吗?很明显,我可以通过模板呈现CSV和JSON,但这太糟糕了。这里也有同样的问题,谢谢你的提问。遗憾的是,它不受支持,尤其是现在的现代dynamic/javascript应用程序。