我想根據用戶提供的語言環境設置模板中日期的格式。由於頁面的其餘部分將保留在原始本地('en')中,我只希望我的用戶的 提供的數據被格式化。用戶提供的語言環境中的django格式日期
例如日期。
英國的用戶應該可以在其網頁上的日期使用l10n
,但我不想將整個網站設置爲en_GB
。
有沒有一種方法來設置塊內的模板的區域設置,例如,像
{% locale|'en_GB' %}
{{ my_date|localize }}
{% endlocale %}
我想根據用戶提供的語言環境設置模板中日期的格式。由於頁面的其餘部分將保留在原始本地('en')中,我只希望我的用戶的 提供的數據被格式化。用戶提供的語言環境中的django格式日期
例如日期。
英國的用戶應該可以在其網頁上的日期使用l10n
,但我不想將整個網站設置爲en_GB
。
有沒有一種方法來設置塊內的模板的區域設置,例如,像
{% locale|'en_GB' %}
{{ my_date|localize }}
{% endlocale %}
你不需要在模板中做任何明確的操作。
在您的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模板標記 是否與您的具體情況更相關?