Показать название модели в шаблоне - PullRequest
1 голос
/ 24 марта 2012

Во всех моих представлениях я обычно объявляю что-то вроде «модель = студент» или любую другую модель. То, что я хочу сделать, это показать

Вставить ученика

в шаблон. Есть ли простой способ сделать это, не передавая новую переменную в контексте?

Я видел некоторые ответы здесь, но все они должны были изменить представление = /

На самом деле я хочу показать следующее: Класс Meta: verbose_name = _ (u "Студент")

В модели, которую я прошел через вид.

1 Ответ

0 голосов
/ 25 марта 2012

Имя класса в Python хранится в атрибуте __class__.__name__ любого объекта.По умолчанию Django не разрешает вам использовать атрибуты, начинающиеся с __ (двойное подчеркивание) в шаблонах, поскольку это указывает на закрытый атрибут.

Простое решение - написать пользовательский шаблонный фильтр :

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

Затем используйте его в своем шаблоне (сначала запомните {% load libraryname %} в своем шаблоне):

{{ obj|classname }} # Will print the class name of obj
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...