Python 为什么Django';s时间过滤器默认情况下不拾取时间_格式?
使用Python 为什么Django';s时间过滤器默认情况下不拾取时间_格式?,python,django,localization,internationalization,Python,Django,Localization,Internationalization,使用{today | time:“time_FORMAT”}可以正确地定位我在Django 1.2.3项目中切换语言的时间。例如,对于英语,我看到“上午12:19”,当我切换到德语时,它变为“12:19:25” 据我所知,通过查看文档和代码(和),仅仅使用{today:time}}应该做同样的事情,并默认为time\u格式,但这不起作用,它总是使用默认的英语格式 有没有办法避免编辑我所有的模板并将它们更改为{today | time:“time_FORMAT”} 同样的事情也发生在日期过滤器和日
{today | time:“time_FORMAT”}
可以正确地定位我在Django 1.2.3项目中切换语言的时间。例如,对于英语,我看到“上午12:19”
,当我切换到德语时,它变为“12:19:25”
据我所知,通过查看文档和代码(和),仅仅使用{today:time}}
应该做同样的事情,并默认为time\u格式
,但这不起作用,它总是使用默认的英语格式
有没有办法避免编辑我所有的模板并将它们更改为{today | time:“time_FORMAT”}
同样的事情也发生在日期
过滤器和日期_格式
文档中说(强调我的):
在没有格式字符串的情况下使用时:
{{ value|time }}
…将使用时间\格式设置中定义的格式字符串,而不应用任何本地化
您有两个选择:
{{ value|time }}
…将使用时间\格式设置中定义的格式字符串,而不应用任何本地化
您有两个选择:
感谢@Ned Batchelder,根据选项2,我已将以下内容添加到我的自定义模板标记文件中:
from django.template.defaultfilters import date as defaultfilters_date, time as defaultfilters_time
# FORCE {{...|date}} to be equivalent to {{...|date:"DATE_FORMAT"}} so it localizes properly, ditto for time and TIME_FORMAT
@register.filter(name="date")
def date_localized(val, arg=None):
return defaultfilters_date(val, arg or "DATE_FORMAT")
@register.filter(name="time")
def time_localized(val, arg=None):
return defaultfilters_time(val, arg or "TIME_FORMAT")
感谢@Ned Batchelder,根据选项2,我已将以下内容添加到我的自定义模板标记文件中:
from django.template.defaultfilters import date as defaultfilters_date, time as defaultfilters_time
# FORCE {{...|date}} to be equivalent to {{...|date:"DATE_FORMAT"}} so it localizes properly, ditto for time and TIME_FORMAT
@register.filter(name="date")
def date_localized(val, arg=None):
return defaultfilters_date(val, arg or "DATE_FORMAT")
@register.filter(name="time")
def time_localized(val, arg=None):
return defaultfilters_time(val, arg or "TIME_FORMAT")
嗯,我想我没看到那个些文件。不过(假设你正在看的话)它还说:“注意,预定义的格式是依赖于语言环境的。”在最底层,“在Django 1.2中发生了更改:预定义的格式现在可以受当前语言环境的影响。”所以,听起来它们应该可以“受影响”……嗯,我想我没有看到那一部分文档。不过(假设你正在看)它还说:“请注意,预定义的格式是依赖于语言环境的。”在最底层,“在Django 1.2中发生了更改:预定义的格式现在可以受当前语言环境的影响。”所以,听起来它们应该可以“受影响”。。。