Estoy usando el motor de aplicaciones python google con el framework webapp, sustituyendo plantillas jjanja2 por plantillas django.¿Es posible acceder al key_name de un objeto desde dentro de una plantilla jinja2?
Sé que usted puede conseguir el nombre_tecla de un objeto desde dentro de un método de control llamándolo así:
goody = object.key().name()
Pero, ¿es posible acceder a la nombre_tecla desde dentro de la lógica de la plantilla? ¿Algo como esto?
{% for object in objectList %}
{{object|key_name}}
{% endfor %}
Obviamente eso no funciona, pero ¿hay algún filtro o atributo que pueda usar para conseguir en el motor de aplicación nombre_tecla se almacena un objeto desde el interior con la plantilla sin tocar el violín adicional dentro del método de control ocultos?
Juro que lo intenté antes y no funcionó. Pero debo haber algo mal, porque lo intenté ahora y está funcionando bien. Seguimiento, ¿hay alguna sobrecarga para estos callables? ¿Sería mejor guardar el valor en un atributo separado si necesito hacer esto para muchos objetos? –
Depende, las llamadas a funciones son una de las operaciones más costosas en Python. Si se trata de una pieza de código caliente, sería mejor que los guarde antes de la mano de forma inteligente para evitar la ejecución de funciones. Si esto no se ejecuta a menudo, está bien. Tenga cuidado con la optimización prematura :) –