2014-11-08 67 views
0

我从Django短暂休息一下,我刚回来,我可能已经忘记了一些事情。我试图把一个for循环在我的模板,现在我得到了以下错误:为什么我在我的Django模板中获取无效块标记?

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 %} 

回答

2

Template Variables通过在Django双大括号括起来。替换:

{% i.headline %} 

有:

{{ i.headline }} 

{% something %}语法用于在Django Template Tags

+0

这是真的,以前的答案说,你必须用双花括号{{i.wantbe}}来包围变量。只是一个例子。 – 2017-01-28 18:21:36

相关问题