2012-10-26 5 views
7

l10n kullanan bir proje üzerinde çalışıyorum.
Ben EN yerel ayarı belirlemek ve bir süre (08:00) görüntülemek çalışırsanız , alıyorum:Django - Yerel saat için saat biçimini değiştir

08:00:00 

Ama bunu:

8 a.m. 

Ben FR yerel ayarlarsanız alıyorum gibi bir şey olmalıdır:

8h 

Neden bu biçimi alıyorum? Doğru formatı nasıl alabilirim?

cevap

10

Görünüşe göre FR yerel ayarı için varsayılan zaman biçimi ayarlanmamış. Bunu oluşturma

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

:

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

Ve fransız formatını tanımlayın:

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

Bilmekte fayda var, iyi iş. – jpic

1

elimden sana inanmıyorum

Ne yapabilirsiniz format module yapılandırmak olduğunu Yerelleştirme kullanıyorsanız, bu konudaki anlayışımdan şu biçimi değiştir: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/.

USE_L10N = True is? Eğer öyleyse, settings.TIME_FORMAT ve settings.TIME_INPUT_FORMATS değerlerini geçersiz kılar: https://docs.djangoproject.com/en/dev/ref/settings/#time-format

Seçtiğiniz dile göre kendi "yerelleştirme" içerik işlemcinizi veya şablon filtrenizi yazabilirsiniz.

+0

Biçim modülünden ayarlandığında "TIME_FORMAT" öğesinin "USE_L10N" varsayılan değerini geçersiz kıldığını doğrularım –