14
想知道是否有方法來測試變量是否在django中的列表或字典中,使用內置的標籤和過濾器。Django模板:測試變量是否在列表或字典
即:{% if var|in:the_list %}
我沒有看到它在該文檔中,如果不將嘗試一些自定義的,但我不想做一些已經完成。
感謝
想知道是否有方法來測試變量是否在django中的列表或字典中,使用內置的標籤和過濾器。Django模板:測試變量是否在列表或字典
即:{% if var|in:the_list %}
我沒有看到它在該文檔中,如果不將嘗試一些自定義的,但我不想做一些已經完成。
感謝
在Django的1.2,你可以做
{% if var in the_list %}
,你在Python會。
否則是的,你需要一個自定義過濾器 - 這是一個三班輪雖然:
@register.filter
def is_in(var, obj):
return var in obj
想通過從模板分離串逗號?創建自定義templatetag:
from django import template
register = template.Library()
@register.filter
def in_list(value, the_list):
value = str(value)
return value in the_list.split(',')
然後你可以這樣調用:
{% if 'a'|in_list:'a,b,c,d,1,2,3' %}Yah!{% endif %}
它也適用於變量:
{% if variable|in_list:'a,b,c,d,1,2,3' %}Yah!{% endif %}
可以將列表是一樣的模板:'{ %如果var在['item1','item2','item3']%}' – Sevenearths 2013-04-29 10:48:18
@Sevenearths我剛剛嘗試過並且可以確認,從Django 1.5.1開始,列表**不能在**中定義'如果'這樣的陳述。 – Patrick 2013-06-25 16:33:09
那我們怎麼去做呢? – laycat 2013-06-26 01:04:12