2013-03-19 4 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, поскольку Рули изменяет объем автоматически. Все, что вам нужно сделать, это обратиться к 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 с рулями. Имеет смысл! Спасибо за это, я постараюсь держать их прямо в будущем. –

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