2013-07-18 5 views
6

Django का टाइमज़ोन-जागरूक आउटपुट स्पष्ट रूप से only applies when rendering a template। सीएसवी या जेएसओएन लौटने वाले प्रतिक्रियाओं के लिए वर्तमान में सक्रिय टाइमज़ोन में वही ऑटो-रूपांतरण प्राप्त करने का कोई तरीका है?टेम्पलेट्स के बाहर Django Timezone समर्थन

+0

आप एक Django सेटिंग के लिए देख रहे सही स्रोत में उसके पास एक और उपयोगिता समारोह, localtime है, जो की तरह लग रहा है? या कुछ पायथन विशिष्ट कोड? शायद pytz का उपयोग करने का प्रयास करें? –

+0

नहीं, जब मैं किसी उपयोगकर्ता को CSV या JSON प्रतिक्रिया भेजता हूं, तो मैं एक ही टेम्पलेट में एक ही ऑटो-रूपांतरण व्यवहार प्राप्त करने के लिए देख रहा हूं। – Tom

+0

मुझे विश्वास नहीं है कि टेम्पलेट्स के बाहर कोई ऑटो-रूपांतरण है ... आपको इसे मैन्युअल रूप से करना होगा। –

उत्तर

1

ऐसा लगता है कि टेम्पलेट्स में डेटाटाइम को कनवर्ट करने के लिए अंतर्निहित अंतर्निहित फ़ंक्शन django.utils.timezone.template_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()) 
+0

अच्छा, मैं इसे किसी बिंदु पर आज़मा दूंगा। धन्यवाद। – Tom

संबंधित मुद्दे