2

我想根據用戶提供的語言環境設置模板中日期的格式。由於頁面的其餘部分將保留在原始本地('en')中,我只希望我的用戶的 提供的數據被格式化。用戶提供的語言環境中的django格式日期

例如日期。

英國的用戶應該可以在其網頁上的日期使用l10n,但我不想將整個網站設置爲en_GB

有沒有一種方法來設置塊內的模板的區域設置,例如,像

{% locale|'en_GB' %} 
    {{ my_date|localize }} 
{% endlocale %} 

回答

0

你不需要在模板中做任何明確的操作。

在您的settings.py中定義了FORMAT_MODULE_PATH設置。 像:

FORMAT_MODULE_PATH = 'myproject.myapp.formats' 

formats目錄下創建一個Python包每個項目的支持的語言(其它 比默認)。在其中每個應該有一個formats.py 應該有任何本地化格式選項。

在我的情況下,我的項目的默認語言是en,但我也支持el(希臘語)。 所以我有這個在我的settings.py

FORMAT_MODULE_PATH = 'myproject.websiteapp.formats' 

裏面的myproject/websiteapp/formats目錄我有一個el封裝,formats.py文件,如:

el/ 
__init__.py 
formats.py 

formats.py裏面我有這樣的:

DATETIME_FORMAT="l j M Y, g:i a" 

這是日期的希臘特定表示。

所以,當我使用時間字段裏面我的模板:

{{ mymodel.pub_date }} 

它打印時的區域設置爲默認的缺省en表示:

Published on: Feb. 22, 2013, 1:47 p.m. 

和我的自定義希臘時,其中一個語言環境設置爲el

Δημοσιεύτηκε: Τετάρτη 6 Φεβ 2013, 5:39 μμ. 

更多信息here

編輯

嗯,我才意識到,你要求特定的模板塊或值。 也許localize模板過濾器localize模板標記 是否與您的具體情況更相關?

相關問題