2013-03-19 4 views
2

장고 템플릿에 특이한 문제가 있습니다. 템플릿에 전달하는 변수가 {{ name }}이고 동시에 notes 목록이 있습니다. {{ name }}{{ body }}이 모두 포함 된 클라이언트 측 API에서 가져옵니다.
메모의 이름을 인쇄하려고 할 때마다 다른 {{ name }}이 나타납니다. 이상합니다. 메모 용 코드는 다음과 같습니다.Django에서 이름 충돌이 발생했습니다.

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

내가 잘못하고 있나? 내가 사용할 수있는 컨텍스트 연산자가 있습니까?

답변

3

이것은 핸들 바가 당신을 위해 자동으로 범위를 변경하기 때문에 장고와 함께 핸들 바로 작업 할 때 만든 일반적인 실수이다. 여기

<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

아 어떤 예리한 관찰을 당신이해야 할 모든 당신이 for 루프로 만든 note 변수를 참조입니다! 핸들 바가있는 백본을 사용하고 있습니다. 말이된다! 고마워, 나는 그들을 앞으로 곧바로 유지하려고 노력할 것이다. –

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