Django 如何在模板中获取当前语言的日期格式?

Django 如何在模板中获取当前语言的日期格式?,django,django-templates,Django,Django Templates,我找到了大量的链接,但它们都要求设置日期格式。我不想要日期格式,我想要当前语言的格式。不是设置。语言\u代码,而是当前请求中的一个(我不明白为什么很多答案都基于设置。语言\u代码,因为如果用户想要更改语言,请使用设置。语言\u代码不会更改格式…) 到目前为止,我找到的唯一解决方案是为我的模板制作自己的自定义标记,如下所示: @register.filter(name='locale_date_format') def locale_date_format(arg1): """ R

我找到了大量的链接,但它们都要求设置日期格式。我不想要日期格式,我想要当前语言的格式。不是
设置。语言\u代码
,而是当前请求中的一个(我不明白为什么很多答案都基于
设置。语言\u代码
,因为如果用户想要更改语言,请使用
设置。语言\u代码
不会更改格式…)

到目前为止,我找到的唯一解决方案是为我的模板制作自己的自定义标记,如下所示:

@register.filter(name='locale_date_format')
def locale_date_format(arg1):
    """
    Returns the date format of the current locale
    Use:
        {{ request|locale_date_format }}

    Args:
        arg1: request
    """
    # a will contain something like '%m/d%/%y' -> convert it for dateselector
    a = formats.get_format('DATE_INPUT_FORMATS',
                           lang=arg1.LANGUAGE_CODE)[1]
    for old, new in [('%y', 'YYYY'),
                     ('%Y', 'YYYY'),
                     ('%d', 'DD'),
                     ('%m', 'MM'), ]:
        a = a.replace(old, new)
    return a
然后这样称呼它:

{% load static i18n compress templates_extras %}
<html>
    <head>
    <script>
        var globDateFormat = '{{ request|locale_date_format }}';
    </script>
    </head>
</html>
{%load static i18n compress templates\u extras%}
var globDateFormat='{{request | locale_date_format}}';

然后我在jQuery datetimepicker中使用它。我觉得这就像用大锤敲坚果一样。还有什么我没有找到的方法吗?

也许这能帮上忙:嗨,谢谢你的链接,但是如果你读了这篇文章,而且你也不会找到一个只能获取格式的地方:它们都以某种方式转换……也许这能帮上忙:嗨,谢谢你的链接,但是如果你读了这篇文章,你也找不到一个地方可以只获取格式:它们都以某种方式转换。。。