Reputation: 4344
I am trying to access a model field inside a template. I am using this field inside an if statement:
{% 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 %}
The if statement is not true. I know it is true because {{ event.homepage }} returns "False".
The event model:
class Event(models.Model):
homepage = models.BooleanField()
I pass it the model here in my views:
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)
Am not following correct syntax here? I get no errors.
Upvotes: 1
Views: 3127
Reputation: 1180
You're trying to compare a boolean value to a string. Your Event
-model's homepage
is a BooleanField
. Try:
{% if not event.homepage %}
See also:
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#boolean-operators https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.BooleanField
Upvotes: 2