Django 调整模板标记方法

Django 调整模板标记方法,django,templatetag,Django,Templatetag,我正在尝试在模板中使用模板标记 from django import template from datetime import datetime from django.template.defaultfilters import date as datefilter from django.utils import translation register = template.Library() DATE_FORMATS = { "en": "l, F j, Y",

我正在尝试在模板中使用模板标记

from django import template
from datetime import datetime
from django.template.defaultfilters import date as datefilter
from django.utils import translation

register = template.Library()

DATE_FORMATS = {
    "en":  "l, F j, Y",
    "fr": "l, j F Y"
}

DEFAULT_LANG = 'fr'

@register.simple_tag(name="localdate")
def localdate(lang=DEFAULT_LANG):
    fmt = DATE_FORMATS.get(lang, DATE_FORMATS[DEFAULT_LANG])
    now = datetime.now()
    with translation.override(lang):
        return datefilter(now, fmt)
我试图使用
{{localdate:'en'}}
,但一切都出了问题。有没有一个简单的方法来调整标签,使其工作?事实上,该文件名为
date\u tags.py
。因此,在模板中,我用
{%load date\u tags%}
加载文件


提前谢谢

看起来您没有正确使用模板标记

尝试使用以下方法:

{% localdate "en" %}
有关更多信息,请查看此处的文档: