如何在Django模板中分配值?

时间:2009-12-11 17:24:04

标签: django django-templates

我已经编写了一个模板标签并将其带到模板中:

{% 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

3 个答案:

答案 0 :(得分:1)

模板标签解析的级别非常低。您已将模板标记传递了四个参数:value1value2asis_checked。我不知道怎么做你想要的。我会检查已经完成它的标签代码,并进行比较。我很确定@simpletag不会掩盖它。

答案 1 :(得分:1)

看看smart if tag。显然它将被内置到1.2。

答案 2 :(得分:1)

Django标签没有内置“as something”模式,您的标签必须明确提供该功能,而这与simpletag无法做到。你必须编写一个完整的节点和解析器函数,这比它应该更难;但你可以看一下内置标签的例子。