我正在使用Django模板的timeuntil
标记。我希望以不同于英语的语言获取输出,但不更改LANGUAGE_CODE
中的settings.py
(这会改变整个应用程序的语言)。
我没有做本地化,我也不想这样做。
有可能吗?
答案 0 :(得分:2)
您必须创建custom template filter,它将使用不同的区域设置调用django' s timeuntil
。例如意大利语版本将如下所示:
# app/templatetags/timeuntil_it.py
from django.template.base import Library
from django.template.defaultfilters import timeuntil_filter
from django.utils import translation
register = Library()
@register.filter
def timeuntil_it(value, arg=None):
with translation.override('it'):
time_until = timeuntil_filter(value, arg)
return time_until
在模板中,您应该加载此模板库:
{% load timeuntil_it %}
{{ future_time|timeuntil_it }}