Django模板语言中的instance .__ dict__

时间:2019-05-17 14:58:11

标签: django django-templates

我经常发现使用instance.__dict__在python中显示对象的属性很有用。

我正在尝试检查Django模板中的字段对象,有没有办法用Django模板语言复制此行为?

我会期望像{{ my_object.__dict }}这样的东西,但是我在文档中看不到任何东西。

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点。

1)模型方法:

class Something(models.Model):
    field1 = models.CharField()

    def to_dict(self):
        return self.__dict__

    def __str__(self):
        return self.field1

然后您可以在模板中调用{{ instance.to_dict }}

2)模板过滤器

@register.filter
def to_dict(instance):
    return instance.__dict__

然后您可以致电{{ instance|to_dict }}

注意:您必须激活模板过滤器并按照these instructions

进行创建