我想在django 1.10中的包含标记内使用自定义过滤器,但每当我尝试时都会收到错误无效的过滤器:' my_filter'过滤器允许我通过键访问字典并返回值。过滤器和包含标签本身可以正常工作。有人可以帮忙吗?
答案 0 :(得分:1)
如果您无法访问过滤器,通常会有两个主要罪魁祸首。
您尚未注册过滤器或
# make sure that your filter is registered
from django import template
register = template.Library()
@register.filter
def lookup_by_key(value, arg):
return value[arg]
您忘了在模板中加载过滤器。
# e.g., Your custom filter is in app_name/templatetags/my_filters.py
{% load my_filters %}
{{ my_value | lookup_by_key:"6" }}
如果您使用的是jinja2模板,则必须在Jinja2环境初始化中使用自定义过滤器。如果您仍然遇到问题,可以reference the django docs。