django模板中的复杂条件?

时间:2014-06-04 16:35:50

标签: django django-templates conditional-statements

如何在django模板中执行此操作:

{% if li_status.profile_exists and (op1.conns|length > 0 or op2.conns|length > 0) %}

括号在此表达式中是非法的,我不确定如何在没有它们的情况下评估表达式。

我更喜欢在一行中执行此操作而不使用嵌套if

1 个答案:

答案 0 :(得分:1)

正如danihp所说,通常没有理由在模板中做这样的事情。 在模板中应该避免这种逻辑,这就是为什么Django没有提供这样做的能力。

您在视图中尝试过类似的内容吗?

def your_view(request):

    # Stuff
    condition = li_status.profile_exists and (len(op1.conns) > 0 or len(op2.conns) > 0)

    return render_to_response('your-template.html',
    {
        'condition': condition 
    },
        RequestContext(request)
    )

然后在你的模板中:

{% if condition %}
...