2012-10-26 11 views
7

मैं एक परियोजना पर काम कर रहा हूं जो l10n का उपयोग करता है।
अगर मैं एन करने के लिए स्थान निर्धारित करने और एक समय (08:00) प्रदर्शित करने के लिए प्रयास करते हैं, मैं:Django - लोकेल के लिए समय प्रारूप बदलें

8 a.m. 

अगर मैं स्थान FR करने के लिए सेट मैं:

08:00:00 

लेकिन यह कुछ ऐसा होना चाहिए:

8h 

मुझे यह प्रारूप क्यों मिल रहा है? मैं उचित प्रारूप कैसे प्राप्त कर सकता हूं?

उत्तर

10

स्पष्ट रूप से एफआर लोकेल के लिए कोई डिफ़ॉल्ट समय प्रारूप सेट नहीं है।

# myproject/settings.py 
FORMAT_MODULE_PATH = 'myproject.formats' 

यह बनाएं::

myproject/ 
    formats/ 
     __init__.py 
     fr/ 
      __init__.py 
      formats.py 

और फ्रेंच प्रारूप निर्धारित किए हैं:

# myproject/formats/fr/formats.py 
TIME_FORMAT = 'G:i' 
+0

जानना बहुत अच्छा है, महान काम। – jpic

1

मैं आपको विश्वास नहीं हो सकते हैं

आप क्या कर सकते कॉन्फ़िगर format module है यदि आप स्थानीयकरण का उपयोग कर रहे हैं तो प्रारूप को बदलें, इसकी समझ से: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/

USE_L10N = True है? यदि ऐसा है, तो यह settings.TIME_FORMAT और settings.TIME_INPUT_FORMATS मानों को ओवरराइड करेगा: https://docs.djangoproject.com/en/dev/ref/settings/#time-format

आप चयनित भाषा के आधार पर अपना स्वयं का "स्थानीयकरण" संदर्भ प्रोसेसर या टेम्पलेट फ़िल्टर लिख सकते हैं।

+0

मैं पुष्टि करता हूं कि प्रारूप मॉड्यूल के माध्यम से सेट करते समय 'TIME_FORMAT'' USE_L10N' से डिफ़ॉल्ट मान ओवरराइड करता है –