2012-10-26 14 views
7

Ich arbeite an einem Projekt, das l10n verwendet.
Wenn ich das Gebietsschema EN und versuchen, stellen Sie eine Zeit (08.00 Uhr) angezeigt werden, erhalte ich:Django - Zeitformat für ein Gebietsschema ändern

8 a.m. 

Wenn ich die locale bekommen FR I:

08:00:00 

Aber es sollte etwas wie sein:

Warum bekomme ich dieses Format? Wie kann ich das richtige Format bekommen?

Antwort

10

Anscheinend ist kein Standardzeitformat für FR-Gebietsschema festgelegt.

Was können Sie tun, ist zu konfigurieren, dass die format module:

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

es erstellen:

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

und definieren Sie die französisch-Format:

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

Sehr gut zu wissen, gute Arbeit. – jpic

1

ich Sie nicht glauben können ändern Sie das Format, wenn Sie Lokalisierung verwenden, von meinem Verständnis davon: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/.

Ist USE_L10N = True? Wenn ja, wird es außer Kraft setzen settings.TIME_FORMAT und settings.TIME_INPUT_FORMATS Werte: https://docs.djangoproject.com/en/dev/ref/settings/#time-format

Sie können Ihre eigene „Lokalisierung“ Kontext-Prozessor oder Schablonenfilter schreiben, basierend auf der gewählten Sprache.

+0

Ich bestätige, dass 'TIME_FORMAT' den Standardwert von' USE_L10N' überschreibt, wenn es über das Format-Modul gesetzt wird –

Verwandte Themen