2015-01-08 1 views
0

У меня есть следующий шаблон Django.Изменить шаблоны django для проверки значений в dict

{% load custom_tags %} 
<ul> 
{% for key, value in value.items %} 
<li> {{ key }}: {{ value }}</li> 
{% endfor %} 

мне нужно проверить для value и сделать некоторые изменения.

Если значение True, вместо значения я должен напечатать Applied, иначе, если он False мне нужно напечатать Not Applied.

Как достичь этого?

ответ

1

Очень простое предложение if-else здесь. Взгляните на django template docs, чтобы ознакомиться с некоторыми из общих тегов.

{% if value %} 
    APPLIED 
{% else %} 
    NOT APPLIED 
{% endif %} 

Вы спросили, как сделать это в качестве фильтра ... Я не знаю, почему, но вот это:

В templatetags каталог приложения создать файл с именем my_tags.py или что-то и сделать содержание

from django import template 

register = template.Library() 

@register.filter 
def applied(value): 
    if value: 
     return 'Applied' 
    else: 
     return 'Not applied' 

Затем в шаблоне убедитесь, чтобы {% load my_tags %} и использовать фильтр с {{ value|applied }}

+0

Как это сделать с помощью filter – station

+0

Зачем нужен фильтр? – rfj001

+0

Просто интересно, есть ли более элегантный способ сделать это. – station

Смежные вопросы