如何通过django变量访问对象属性?

时间:2015-07-20 12:06:31

标签: python django

我想将此代码转换为更可继承的代码以避免编码。考虑到我的代码很简单,需要简单的答案。

{% for attribute in attributes %}
{{ entity ??? }} == entity.get_attr(attribute)
{% end for %}

我想转换为这样的代码:

{{1}}

它的有效语法是什么?

1 个答案:

答案 0 :(得分:2)

使用过滤器的最简单示例:

# templatetags.ry
from django import template


register = template.Library()

@register.filter
def get_attr(object, name):
    return getattr(object, name, '')

您的模板:

{% load templatetags %}


{% for attribute in attributes %}
    {{ entity|get_attr:attribute }}
{% end for %}