2012-09-21 93 views
0

我正在尋找python/django模板中的短條件語句,所以我可以寫得更少,重用次數更多。像(禁用__中的tkey)? 「禁用行」:「」。django模板中的短條件語句

下面是我在做什麼:

{% if tkey in disabled_rows %} 
    <tr class="disabled-row"> 
{% else %} 
    <tr>  
{% endif %} 

我也嘗試沒有成功的自定義模板標籤:

{{ (tkey in disabled_rows)|xif:'true,false' }} 

XIF實現:

def xif(cond, args): 
if cond: 
    return args.split(',')[0] 
else: 
    return args.split(',')[1] 

加分,如果你能解釋爲什麼這不是本地在python中實現的。

+0

您的自定義過濾器會複製內置的'yesno'過濾器:https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#yesno –

回答

5

對於你給的例子,這種解決方案很簡短:

<tr {% if tkey in disabled_rows %} class="disabled-row"{% endif %}> 

也許還有別的東西你想實現這一目標將有不同的例子來闡明更好?

+2

+1「澄清」。 – bpgergo