2013-03-19 62 views
2

我在设置django模板时遇到了一个特殊问题:我有一个{{ name }}变量传递给我的模板,同时我有一个notes列表来自客户端的api,它既有{{ name }}也有{{ body }}
每当我尝试打印出纸币的名字时,其他的{{ name }}就会出现。这很奇怪。这里是我的笔记代码:在Django模板中命名冲突

<div class="notes"> 
    {% for note in notes %} 
     <p><strong>{{ name }}</strong></p> 
     <p>{{ body }}</p> 
    {% endfor %} 
</div> 

我做错了什么?有没有我可以使用的上下文运算符?

回答

3

这是一起把手Django的工作时,因为把手会自动为您更改范围是常犯的错误。所有你需要做的就是指你所创建的for循环note变量:

<div class="notes"> 
    {% for note in notes %} 
     <p><strong>{{ note.name }}</strong></p> 
     <p>{{ note.body }}</p> 
    {% endfor %} 
</div> 

此处了解详情:https://docs.djangoproject.com/en/1.5/ref/templates/builtins/#std:templatetag-for

+1

唉唉什么的敏锐的观察!我完全使用带把手的backbone.js。说得通!谢谢,我会尽力在未来保持直线。 – 2013-03-19 19:10:18

4
<div class="notes"> 
    {% for note in notes %} 
     <p><strong>{{ note.name }}</strong></p> 
     <p>{{ note.body }}</p> 
    {% endfor %} 
</div>