修改django模板以检查dict中的值

时间:2015-01-08 06:23:01

标签: python django

我有以下Django模板。

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

我需要检查value并进行一些修改。

如果值为True,则代替值,我必须打印Applied,否则如果False我需要打印Not Applied

如何实现?

1 个答案:

答案 0 :(得分: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 }}过滤器