调整模板标签方法
Adapt a template tags method
我正在尝试在模板中使用模板标签。
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 %}
.
加载文件
提前致谢!
您似乎错误地使用了模板标签。
试试这个:
{% localdate "en" %}
有关详细信息,请查看此处的文档:Django Simple Tag
我正在尝试在模板中使用模板标签。
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 %}
.
提前致谢!
您似乎错误地使用了模板标签。
试试这个:
{% localdate "en" %}
有关详细信息,请查看此处的文档:Django Simple Tag