“abc”不是注册标签库。必须是以下之一:“efg”| Django的

时间:2017-02-28 22:12:38

标签: python django templates filter tags

我实际上是想找到一种方法来对模板中的查询集进行排序,并看到我们可以创建自定义过滤器并使用它。

让我们不要提到我放入标签的功能,但是我在与所有其他标签相同的目录中创建了标签......

我在sort_tags.py下创建了我的代码名称templatetags *怪异我无法上传图片,是要显示我的目录` 无论如何,这就是所有其他标签的所在。

我收到了这段代码,想尝试一下..所以我把它粘贴到我的sort_tags.py

from django import template
register = template.Library()

@register.filter
def sort_by(queryset, order):
    return queryset.order_by(order)

然后在我使用template.html的{​​{1}}中,还加载了其他标记。

然后当我加载页面时... {% load sort_tags %}出现。在必须的列表中,我看到与我在同一目录中的所有标签。

我尝试了is not a registered tag library. must be one offilter_function之类的内容 或类似的东西,发现了一些不同的方式,所以我尝试了所有这些,但没有一个工作。

有没有人知道可能出现什么问题?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果你想在模板中这样做(实际上有点不对),你应该使用regroup标签 - https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#regroup

但实际上,你应该尽可能地将逻辑移到视图中。