2013-03-19 93 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>