在django模板中内省对象的最佳方法?

时间:2018-03-28 13:37:26

标签: django python-3.x

我们可以在views.py文件中的django视图中使用dir(object_name)来查看对象的属性和方法。 我想在django模板中内省一个对象,在这种情况下是变量消息。

{% if messages %}
    <ul class="messages">
        {% for message in messages %}
            <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
                {{ message }}
            </li>
        {% endfor %}
    </ul>
{% endif %}

最好的方法是什么?

提前致谢。

问候。

1 个答案:

答案 0 :(得分:0)

创建一个自定义django过滤器,如下所示

@register.filter
    def dirs(value):
        return str(dir(value))

将自定义过滤器加载到模板中

{% load filters %}

然后使用它如下

{{ message|dirs }}