在Django模板过滤器中明确设置优先级

时间:2016-07-01 10:43:12

标签: python django django-templates

有没有办法在Django模板过滤器中设置显式设置优先级?

就像一种括号系统。

我试图说

{{ label | default:( parameter | parse_label ) }}

label是一些人性化的字符串,如"Project ID",参数更像"project_id"

我想要一个系统,如果没有专门提供标签,它会运行parse_label自定义过滤器,返回类似于上面的人性化版本 - 但此刻,我的代码正在运行parse_label过滤器,无论是否提供了label - 可能是因为它做了类似这样的事情

{{ (label | default:parameter) | parse_label }}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您可以使用with标记实现此目的。

{% with param=parameter|parse_label %}
    {{ label | default:param }}
{% endwith %}