2010-10-24 29 views
2
LANGUAGE_CODE = 'ru-RU' 

USE_I18N = True 

# If you set this to False, Django will not format dates, numbers and 
# calendars according to the current locale 
USE_L10N = False 

{{post.date_added | date:「b」}}在模板中給出「окт」。 如果我設置USE_I18N = False,那麼它應該是oct。 這是一個錯誤?我怎麼解決這個問題 ?是否有可能禁用模板中的USE_I18N(部分)?如何在django中切換L10N

回答

2

Django嚴重依賴strftime,但是:http://docs.python.org/library/datetime.html 指令含義備註 %Locale的縮寫星期幾名稱。
%Locale的完整星期幾名稱。
%b語言環境的縮寫月份名稱。
%B Locale的全月名稱。

因此,當USE_I18N = True時,月份名稱會被轉換爲俄語,因爲它與語言環境有關。 會寫我自己的模板標籤可能:(

1

由於Django的1.3可以使用localizeunlocalize過濾器(加載庫l10n即做{% load l10n %}後)

你可以試試這個:

{% load l10n %} 
{{ post.date_added|unlocalize|date:"b" }}