2013-07-18 27 views
6

Django'nun saat dilimi farkında çıkışı görünür şekilde only applies when rendering a template. CSV veya JSON döndüren yanıtlar için şu anda geçerli olan saat dilimine aynı otomatik dönüşümü elde etmenin bir yolu var mı?Django Zaman Dilimi Şablonların Dışında Destek

+0

Bir Django ayarı arıyorsunuz Sağ yanında kaynağında benziyor başka fayda fonksiyonu, localtime, nedir? Ya da bazı python'a özgü kod? Belki pytz kullanmayı deneyin? –

+0

Hayır, bir kullanıcıya bir CSV veya JSON yanıtı gönderdiğimde gördüğünüz aynı otomatik dönüşüm davranışını elde etmek istiyorum. – Tom

+0

Şablonların dışında herhangi bir otomatik dönüşüm olduğuna inanmıyorum ... elle yapmanız gerekecek. –

cevap

1

Şablonlarda şablonları dönüştürmek için çağrılan temel fonksiyonun django.utils.timezone.template_localtime() olduğunu görüyoruz. çalışacak aşağıdaki yüzden belki

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()) 
+0

Güzel, bunu bir noktada deneyeceğim. Teşekkürler. – Tom