Django - 在不改变应用程序语言的情况下更改timeuntil语言

时间:2015-01-17 20:56:14

标签: django django-templates

我正在使用Django模板的timeuntil标记。我希望以不同于英语的语言获取输出,但不更改LANGUAGE_CODE中的settings.py(这会改变整个应用程序的语言)。 我没有做本地化,我也不想这样做。

有可能吗?

1 个答案:

答案 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 }}