Django 在下面的代码中使用template.library()和@register.filter()的目的是什么

Django 在下面的代码中使用template.library()和@register.filter()的目的是什么,django,python-2.7,Django,Python 2.7,我是django框架的新手。我对图书馆的包装有疑问。在启动一个函数之前,有人能给我解释一下template.library()函数以及我们的用途吗@register.filter()。我已经在下面定义了代码 from django import template register = template.Library() @register.filter() def boldcoffee(value): '''Returns input wrapped i

我是django框架的新手。我对图书馆的包装有疑问。在启动一个函数之前,有人能给我解释一下template.library()函数以及我们的用途吗@register.filter()。我已经在下面定义了代码

   from django import template
   register = template.Library()
   @register.filter()

   def boldcoffee(value):
       '''Returns input wrapped in HTML <b> tags'''
       return '<b>%s</b>' % value
来自django导入模板的

register=template.Library()
@register.filter()
def咖啡(价值):
''返回用HTML标记包装的输入''
返回“%s”值
这是一个。它允许您在模板中运行代码:

{{ some_var|boldcoffee }}
如果
some_var
为“blah”,则渲染输出将为:

<b>blah</b>
废话

例如,您可以查看使用此技术可以做什么。

这是django提供的自定义模板标记

您可以在django中创建自己的模板标记和过滤器


因此,register用于在库中添加自定义过滤器。

您能否简要解释一下它将用于什么目的使用{{some_var | boldcoffee}}我们可以从模板页面直接调用boldcoffee()的方法名。那个么为什么我们在这里使用@register.filter()。
boldcoffee()
不是
some\u var
的方法,所以我们不能像
{{some\u var.boldcoffee}}
那个样直接调用它。当我们将此函数注册为过滤器时,我们可以将此函数应用于模板中的任何var/常量。例如:
{{“某些字符串”| boldcoffee}}