Django 1.10,python 3.5
大家好!
我在models.py中有一个名为“Building_type”的模型:
class Building_type(models.Model):
buildingType = models.CharField(max_length=40)
def __str__(self):
return self.buildingType
以及发送到django HTML模板的建筑物列表,名为“buildingList”,如下所示:
[
{'name': 'building1', 'type': <Building_type: Blacksmith>},
{'name': 'building2', 'type': <Building_type: Inn>},
{'name': 'building3', 'type': <Building_type: Chemist>},
]
我想这样做:
{% for building in buildingList %}
{% if building.type == "Inn" %}
<p> this is an Inn </p>
{% endif %}
{% endfor %}
然而,IF语句永远不会完成。 我试过以下,都失败了:
{% if building.type == building.type.Inn %}
{% if building.type == Inn %}
{% if building.type == "Inn" %}
如果有帮助,以下内容正确地将“Blacksmith”,“Inn”和“Chemist”返回给HTML:
{% for building in buildingList %}
{% if building.type %}
{{building.type}}
{% endif %}
{% endfor %}
非常感谢大家的帮助
答案 0 :(得分:3)
如果我正确地遵循这个不应该这样做吗?
{% if building.type.buildingType == "Inn" %}
因为type是一个Building_type模型的实例,而该类型又有一个buildingType字段,因此访问type.buildingType