如何在模板 django 中获取 class 模型的名称

How to get the name of a class model in template django

这个问题与这个问题(Model name of objects in django templates)相似但不一样。

我想知道如何获取模型 class 名称(在本例中为 'Apple'),或者至少 return 我可以传递的字符串。

Model.py

   django.db import models
   class Apple(models.Model):
      .....

apple.html

 <p>Sorry, no {{ ***Model class name**** }}</p>

浏览器中的示例::: " 对不起,没有苹果 “

编辑

一些额外条件:

  1. 如果没有从模型创建对象怎么办,因此 'Sorry, no apples'
  2. 如何设置这种灵活的类型,以便您可以对任何种类的水果使用相同的模板。

如果您将一个对象传递给您的模板,并且您希望在模板中而不是在视图中执行此处理,一种方法是创建以下 template tag:

@register.filter
def get_class(value):
    return value.__class__.__name__

并通过

获取名称

{{apple|get_class}}