2011-11-27 13 views
27

मुझे SHORT_DATETIME_FORMAT दृश्य में उपयोग करने की आवश्यकता है।Django: विचारों में प्रारूप तिथि कैसे प्राप्त करें?

def manage_list(request): 

    user = User.objects.filter().order_by('date_joined') 
    usrs = [] 
    for usr in user: 
     usrs.append({ 
      _('First name'): usr.first_name, 
      _('Last name'): usr.last_name, 
      _('Email'):  usr.email, 
      _('Active'):  usr.is_active, 
      _('Superuser'): usr.is_superuser, 
      _('Staff'):  usr.is_staff, 
      _('Joined date'): usr.date_joined.strftime(SHORT_DATETIME_FORMAT),  
     }) 

    data = simplejson.dumps(usrs, indent=4) 
    return HttpResponse(data, mimetype='application/json') 

usr.date_joined में मुझे लगता है कि "दिनांक फ़ील्ड" का एक प्रकार है। मैं django लोकेल के अनुसार इस डेटा को प्रारूपित करना चाहता हूं। इसलिए इस स्ट्रिंग को शायद मदद करनी चाहिए। मुझे पता है कि एक टेम्पलेट फ़िल्टर है जो मैं चाहता हूं, लेकिन मैं केवल देखने के लिए usr.date_joined प्रारूपित करना चाहता हूं - django choosen locale को सहेजना।

यदि ऐसा करने के लिए कोई अन्य तरीका है तो कृपया उदाहरण प्रदान करें। अंत में मैं सिर्फ डीजेंगो लोकेल के अनुसार एक निर्धारित तारीख चाहता हूं जो केवल तारीख और समय दिखाता है, मुझे लगता है कि यह निरंतर यह कहना चाहिए कि नाम क्या कहता है ..

उत्तर

58

django.utils.formats मॉड्यूल जो आप खोज रहे हैं। दस्तावेज़ों में जो एकमात्र संदर्भ मिल सकता है वह Django 1.2 release notes में था।

याद रखें कि स्थानीयकरण केवल तभी काम करेगा जब USE_L10N सेटिंग True है। आप निम्नानुसार date_format का उपयोग कर सकते हैं।

from datetime import datetime 
from django.utils import formats 
date_joined = datetime.now() 
formatted_datetime = formats.date_format(date_joined, "SHORT_DATETIME_FORMAT") 
+1

'django.utils से आयात formats' में ही है? https://docs.djangoproject.com/en/dev/releases/1.2/#date-format-helper- कार्यक्षमता शायद किसी को उपयोगी लगेगा। Thnx Alasdair! =) – holms

+0

ओह। वह एक टाइपो था। 'memset.utils' मेरी कंपनी के आंतरिक मॉड्यूल में से एक है! सही मॉड्यूल 'django.utils' है। – Alasdair

+0

'django.conf आयात सेटिंग्स' से और फिर 'सेटिंग्स .HORT_DATE_FORMAT'' में क्या गलत है? –

22

आप अजगर का उपयोग कर django.utils.dateformat.DateFormat

>>> from datetime import datetime 
>>> dt = datetime.now() 
>>> from django.utils.dateformat import DateFormat 
>>> from django.utils.formats import get_format 
>>> df = DateFormat(dt) 
>>> df.format(get_format('DATE_FORMAT')) 
u'April 23, 2013' 
>>> df.format('Y-m-d') 
u'2013-04-23' 

अधिक जानकारी का उपयोग करके देख सकते हैं:

import django 
help(django.utils.dateformat) 
11

एक दृश्य में Django तारीख फिल्टर का उपयोग करने के defaultfilters का उपयोग करें, उदाहरण के लिए:

from django.template import defaultfilters 

formatted_date = defaultfilters.date(usr.date_joined, "SHORT_DATETIME_FORMAT") 
1

localize शॉर्टकट का उपयोग करें।

>>> from django.utils.formats import localize 
>>> from datetime import datetime 
>>> 
>>> print(datetime.now()) 
2016-12-18 19:30:35.786818 
>>> print(localize(datetime.now())) 
18 декабря 2016 г. 19:30 
0
from django.utils.formats import date_format 

date_format(usr.date_joined) 
+0

यह मौजूदा उत्तरों में कुछ भी नहीं जोड़ता है। 'date_format' पहले ही सुझाया गया था। –

+0

सच है, मैंने जवाब देने के बाद ही देखा। लेकिन फिर भी, मेरा जवाब अलास्डेयर द्वारा दिए गए एक से साफ है। – User3759685

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