我正在尝试访问模板中的模型字段。我在if语句中使用了这个字段:
{% for event in events %}
{% if event.homepage == 'False' %}
<tr class='teamRow'>
<td id='day' class="rowCell">
{{ event.date }} {{ event.homepage }}
</td>
</tr>
{% else %}
<p>Else</p>
{% endif %}
{% endfor %}
if语句不正确。我知道这是真的,因为{{event.homepage}}返回“False”。
事件模型:
class Event(models.Model):
homepage = models.BooleanField()
我在视图中传递了模型:
def renderHomeNew(request):
events = Event.objects.all()
t = get_template('base_home_new.html')
context = {
'events': events
}
c = template.Context(context)
r = t.render(c)
return HttpResponse(r)
这里没有遵循正确的语法?我没有错。
答案 0 :(得分:2)
您正在尝试将布尔值与字符串进行比较。您的Event
- 模型的homepage
是BooleanField
。尝试:
{% if not event.homepage %}
另见:
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#boolean-operators https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.BooleanField