1

我正在尝试访问模板内的模型字段。我在 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)

这里没有遵循正确的语法吗?我没有错误。

4

1 回答 1

2

您正在尝试将布尔值与字符串进行比较。你的Event-modelhomepage是一个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

于 2013-03-26T17:14:52.177 回答