在模板中显示模型名称

时间:2012-03-24 11:35:01

标签: django templates

在我制作的所有视图中,通常会声明类似" model = Student"或任何其他模型。我想要做的是在模板中显示

插入学生

。有没有一种简单的方法可以在上下文中传递新变量?

我在这里看到了一些答案,但所有人都必须更改视图= /

其实我要展示的是:     类Meta:          verbose_name = _(你"学生")

在模型中,我通过了视图。

1 个答案:

答案 0 :(得分:0)

Python中的类名存储在任何对象的__class__.__name__属性中。默认情况下,Django不允许您在模板中使用以__(双下划线)开头的属性,因为它表示私有属性。

简单的解决方案是编写custom template filter

@register.filter
def classname(obj):
    return obj.__class__.__name__

然后在模板中使用它(请先记得模板中的{% load libraryname %}):

{{ obj|classname }} # Will print the class name of obj