0

我正在尝试在模板中使用模板标签。

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_tags.py. 所以在模板中我用{%load date_tags %}.

提前致谢!

4

1 回答 1

0

看起来您错误地使用了模板标签。

尝试使用这个:

{% localdate "en" %}

有关更多信息,请查看此处的文档:Django Simple Tag

于 2017-03-31T18:00:27.367 回答