如果和elif没有在模板django中工作

时间:2017-09-17 12:18:21

标签: python html css django django-templates

如果和elif不在我的模板django

中工作

的index.html

<a style="{% if show.Ages == 19 %}background:#ff3636;{% elif show.Ages == 17 %}background:#fb9c92;{% elif show.Ages == 13 %}background:#ffb466;{% else %}background:#4aff68;{% endif %};border-radius: 15px;width: 140px;height: 42;margin-right: 831px;margin-top: -200;" class="button">رده‌ سنی‌:+{{ show.Ages }}</a>

views.py

def index(request):
    shows = show.objects.all()
    context = {
        'shows':shows
    }
    return render(request,'index.html', context)

models.py

class show(models.Model):
    Ages = models.CharField(max_length=10,default='',null=True)

问题是什么?

1 个答案:

答案 0 :(得分:2)

您的show.Ages属性为CharField,而非IntegerField。不要将它与整数进行比较,而应将其与字符串进行比较,例如

{% if show.Ages == '17' %}...{% endif %}

正如评论中指出的,您的上下文变量是shows,而不是show,但我怀疑您的模板片段已经存在于

之类的内容中
{% for show in shows %}...{% endfor %}

会创建一个show循环变量。