2010-01-11 6 views
2

Google Appengine 및 django 사용.django 템플릿 호출 기능

I 모델 같은 내부 db.ReferenceProperty()을 보낼 때마다 : 장고 템플릿에 사용자의 페이지를 내놓고 그래서 내가 할 수없는

class User(db.Model) : 
    name = db.StringProperty() 
    avatar = db.ReferenceProperty(dbImage) 

<div> 
    <span>{{ user.name }}</span> 
    <span>{{ user.avatar.key() }}</span> 
</div> 

무엇 지금 당장 데이터가 보이는 템플릿으로 나가기 전에 약간의 파이썬 코드를 작성하고 있습니다.

user.avatarsKey = user.avatar.key() 

Then

<div> 
    <span>{{ user.name }}</span> 
    <span>{{ user.avatarsKey }}</span> 
</div> 

함수 호출을 제거합니다. 나는 많은 장소에서 그것을해야하고 그 혼란 스럽기 시작하기 때문에 나는 이것을 좋아하지 않는다. 템플릿 내부에서 db 객체의 .key() 메소드를 호출하는 방법이 있습니까?

답변

8

django 템플릿에서 함수 호출은 함수 가져 오는 것입니다. 귀하의 예에서는 다음을 시도해보십시오.

{{ user.avatar.key }} 

나는 이상하게 생각합니다. 하지만 배열/목록의 경우 더 나쁩니다.

{{ user.mylist.0 }} 
+1

+1 올바른 내용. 목록 물건도 나를 던져 버렸다. –

+0

------- ty ------- – bobobobo

+0

주목할 만하게 이것은'avatar' 객체가 None 일 때조차도 작동합니다. NoneType 오류 또는 이와 유사한 것을 throw하지 않습니다. 놀랄 만한. – bobobobo