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

The*_*ter 1 django django-models django-class-based-views

这个问题类似于这个问题(模型名称在 django 模板中的对象)但不一样。

我想知道如何获取 Models 类名(在本例中为“Apple”),或者至少返回一个我可以传递的字符串。

模型.py

   django.db import models
   class Apple(models.Model):
      .....
Run Code Online (Sandbox Code Playgroud)

苹果.html

 <p>Sorry, no {{ ***Model class name**** }}</p>
Run Code Online (Sandbox Code Playgroud)

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

编辑

一些额外的条件:

  1. 如果没有从模型创建的对象,因此“对不起,没有苹果”怎么办
  2. 如何灵活地分类,以便您可以对任何种类的水果使用相同的模板。

NS0*_*NS0 5

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

@register.filter
def get_class(value):
    return value.__class__.__name__
Run Code Online (Sandbox Code Playgroud)

并获得名称

{{apple|get_class}}