2013-01-22 3 views
1

에 개체 ID를 전달 나는 다음과 같은 모델을 가지고 :구글 앱 엔진과 장고 템플릿 : 템플릿 엔진

고유 키 구글 앱 엔진의 데이터 스토어에서 제공하는 id 필드를 사용
class Messages(db.Model): 
    name: db.StringProperty() 
    ... 

하고, 방법 :

이제
message = Message() 
... 
message.put() 
... 
id = message.key().id() 

내가 장고 템플릿 시스템 사용하여 메시지 목록 싶습니다 :

messages = db.Messages.all() 
self.response.out.write(template.render('page.html', 'messages': messages)) 

그리고 'page.html'으로는 :

{% for message in messages %} 
    {{message.name}} 
    {{message.id}} 
    .... 
{% endfor %} 

그러나, 'message.id은'항상 위의 루프에서 비어 있습니다. 엔터티 ID를 템플릿 시스템에 전달하여 웹 페이지에서 사용할 수 있도록하는 방법은 무엇입니까? 감사.

답변

2

템플릿 코드는 여전히 the id instance-method of the key에 액세스해야한다는 점에서 다르지 않습니다.

대신보십시오 : 당신은 (대신 장고 템플릿) Jinja2 템플릿을 사용하는 경우

{% for message in messages %} 
    {{ message.name }} 
    {{ message.key.id }} 
    <!-------- ^^^ --> 
{% endfor %} 

구문은, 다음과 같습니다

{% for message in messages %} 
    {{ message.name }} 
    {{ message.key().id() }} 
    <!-------- ^^^^^ --> 
{% endfor %} 
+0

우수함! 고마워, 버니. –

+0

당신을 가장 환영합니다. – bernie