我已经编写了一个模板标签并将其带到模板中:
{% check_somethings value1 value2 as is_checked %}
{% if is_checked %}
# do it
{% endif %}
但是有一些错误。我这样做了吗?
check_somethings takes 2 arguments
有:
@register.simple_tag
def check_somethings(value1, value2):
if Mymodel.objects.filter(f1=value1, f2=value2):
return True
else:
return False
答案 0 :(得分:1)
模板标签解析的级别非常低。您已将模板标记传递了四个参数:value1
,value2
,as
和is_checked
。我不知道怎么做你想要的。我会检查已经完成它的标签代码,并进行比较。我很确定@simpletag不会掩盖它。
答案 1 :(得分:1)
看看smart if tag。显然它将被内置到1.2。
答案 2 :(得分:1)
Django标签没有内置“as something”模式,您的标签必须明确提供该功能,而这与simpletag无法做到。你必须编写一个完整的节点和解析器函数,这比它应该更难;但你可以看一下内置标签的例子。