Автор Тема: Использование verbose_name в шаблоне  (Прочитано 2436 раз)

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Использование verbose_name в шаблоне
« : Марта 10, 2019, 03:03:29 pm »
Я пытаюсь использовать verbose_name в шаблоне:

<p class='atr'> Возраст: <span class='ab'>{{ profile.__class__.Age.verbose_name }} {{ profile.Age }}</span> </p>
Но шаблон не видит почему-то profile.__class__

Решил попробовать сделать метод через модель, который вернет profile.__class__. Сработало. В итоге profile.__class__.Age возвращает мне объект django.db.models.query_utils.DeferredAttribute, но у него я не нашел поля verbose_name :(

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #1 : Марта 10, 2019, 03:11:39 pm »
Посмотрите здесь решение
« Последнее редактирование: Марта 10, 2019, 03:28:23 pm от AdminUser »

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #2 : Марта 10, 2019, 03:24:59 pm »
Не дает. Пишет ошибку:

Цитата:
'mytag' is not a registered tag library. Must be one of:

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #3 : Марта 10, 2019, 03:30:41 pm »
Цитата:
Не дает. Пишет ошибку:

Перезапусти сервер

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #4 : Марта 10, 2019, 03:32:35 pm »
Спасибо! Заработало!

Но это немного не то, что мне надо. Ведь я хотел получать verbose_name не модели, а полей

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #5 : Марта 10, 2019, 03:57:09 pm »
Специально для тебя:

@register.filter
def field_name(obj, field):
    return obj._meta.get_field(field).verbose_name

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Re: Использование verbose_name в шаблоне
« Ответ #6 : Марта 10, 2019, 03:58:01 pm »
Круто! Спасибо!