为什么我在Django模板中获得了无效的块标记?

时间:2014-11-08 03:24:13

标签: django django-templates

我从Django休息了一会儿,我刚刚回来,我可能已经忘记了一些事情。我试图在我的模板中放置一个for循环,现在我收到了以下错误:

Invalid block tag: 'i.headline', expected 'empty' or 'endfor'

我不知道为什么,因为我最后有了endfor标签。我在下面包含了我的模型,视图和html模板(希望我在这里包含了足够的信息)。

models.py

class Entry(models.Model):
    headline= models.CharField(max_length=200,)
    body_text = models.TextField()

    def __str__(self):
        return u'%s %s %s %s %s %s %s' % (self.headline, self.body_text)

views.py

def storefront(request):
    latest_entries = Entry.objects.filter()
    context = {'latest_entries': latest_entries}
    return render(request, 'storefront.html', context)

模板

 {% for i in latest_entries %}
        <div class="bodydiv">
            <div class="container">
                <div class="grid_4">
                    <div class="imgcontainer">
                        <img src="/static/img/samples/testpic.jpg" alt="" />
                        <div class="overlayname">{% i.headline %}</div>
                    </div>
                    <div class="textcontainer">
                        <p>test test test test test test test teste</p>
                    </div>
                </div>
            </div>
        </div>
    {% endfor %}

1 个答案:

答案 0 :(得分:3)

在Django中,

Template Variables被双花括号包围。替换:

{% i.headline %}

使用:

{{ i.headline }}

{% something %}语法用于Django中的Template Tags