Django - 在不更改应用程序语言的情况下更改 timeuntil 语言
Django - Change timeuntil language without changing application language
我正在使用 Django 模板的 timeuntil
标签。我想以不同于英语的语言获得输出,但不更改 settings.py
中的 LANGUAGE_CODE
(这会更改整个应用程序的语言)。
我不做本地化,也不想做。
可能吗?
您必须创建 custom template filter,它将使用不同的语言环境调用 django 的 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 }}
我正在使用 Django 模板的 timeuntil
标签。我想以不同于英语的语言获得输出,但不更改 settings.py
中的 LANGUAGE_CODE
(这会更改整个应用程序的语言)。
我不做本地化,也不想做。
可能吗?
您必须创建 custom template filter,它将使用不同的语言环境调用 django 的 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 }}