type()
ビルトインと同等のものとして、一般的なテンプレート フィルターを実装することもできます。
# app/templatetags/util.py
from django import template
register = template.Library()
@register.filter
def get_type(value):
return type(value)
# template.html
{% load util %}
{% if extra_column|get_type == 'str' %}
String
{% elif extra_column|get_type == 'datetime.date' %}
Date
{% else %}
Oh no!
{% endif %}
しかし、Ignacio と Dirk は正しいと思います。と呼ばれる2つのキー(「配列」と言いますが、アイテムに名前があるという事実から「辞書」を意味していると思います)を持つことはできませんdate
かdetail
?
# views.py
...
actions = [{
'some_property': 'some_value'
'date': None,
'detail': 'details'
},
{
'some_property': 'some_value'
'date': datetime.date.today(),
'detail': None
}]
...
# template.html
{% for action in actions %}
<td>{% if action.date %}{{ action.date|date:"M d" }}{% endif %}{{ action.detail }}</td>
{% endfor %}
# output
<td>details</td>
<td>Aug 19</td>