2011-01-13 4 views
0

widget이라는 객체를 컨텍스트의 일부로 django 템플릿을 렌더링 할 때 조금 비싸지 만 그 결과를 두 번 이상 표시하려고합니다.Django : 템플릿에서 동일한 표현식을 여러 번 평가하지 않으시겠습니까?

파이썬 :

class Widget: 
    def work(self): 
     # Do something expensive 

템플릿

분명히
This is a widget, the result of whose work is {{widget.work}}. Do 
you want to save {{widget.work}} or discard {{widget.work}}? 

난에 결과를 전달하는 다음 뷰 코드에 한 번 방법을 평가하고,이 오류를 해결할 수 있지만,이 부부에 보인다 보기 및 템플릿 너무 많이. 템플릿 작성자가 나중에 템플릿의 재사용을 위해 값을 숨길 수 있습니까? 나는 이런 식으로하고 싶습니다 :

{% work_result = widget.work %} 
This is a widget, the result of whose 
work is {{work_result}}. Do you want to save {{work_result}} or discard {{work_result}}? 

이러한 구조가 장고 템플릿 언어에 존재합니까?

답변

3
{% with work_result=widget.work %} 

정보를 찾기 장고 docs

+0

'with' 오른쪽 태그입니다 그러나 당신의 구문이 잘못되었습니다. –

+0

이 구문은 현재 개발 버전에 맞아야하며, –

관련 문제