Можно ли получить доступ к ключевому имени объекта из шаблона jinja2?

Я использую python Google app engine с платформой webapp, заменяя шаблоны jinja2 шаблонами django.

Я знаю, что вы можете получить key_name объекта внутри метода-обработчика, назвав ее так:

goody = object.key().name()

но можно ли получить доступ к key_name из логики шаблона? Что-то вроде этого?

{% for object in objectList %}
{{object|key_name}}
{% endfor %}

очевидно, что это не работает, но есть ли какой-то фильтр или скрытый атрибут, который я могу использовать, чтобы добраться до App engine key_name объект хранится внутри шаблона без дополнительной возни внутри метода обработчика?

2 ответов


Jinja2 позволяет выполнять вызываемые объекты, просто используя () согласно документации здесь:http://jinja.pocoo.org/docs/templates/#other-operators

Так, это должно работать:

{% for instance in instance_list %}
   {{ instance.key().name() }}
{% endfor %}

можно сделать object.key.name внутри шаблона django для доступа к объекту хранилища данных appengine введите имя

обычно вы получаете доступ введите имя в коде python через object.key().name()

шаблон Django автоматически пытается несколько возможных способов интерпретации object.key.name чтобы дать вам значение.