Предотвращение капитализации в verbose_name поля модели

Я использую следующий тег шаблона:

@register.simple_tag
def get_verbose_field_name(instance, field_name):
    """
    Returns verbose_name for a field.
    """
    return instance._meta.get_field(field_name).verbose_name.title()

Предположим, я определил поле модели lorem_ipsum с полем verbose_name="FOO bar".

Затем, когда я запускаю {% get_verbose_field_name object "lorem_ipsum" %} в шаблоне в элементе <th> таблицы, я получаю "Foo Bar".

Однако я хочу сохранить вербозное имя именно таким, каким я его определил - в данном примере как "FOO bar". Как отключить автокапитализацию вербозных имен?

Удалите вызов title():

@register.simple_tag
def get_verbose_field_name(instance, field_name):
    """
    Returns verbose_name for a field.
    """
    return instance._meta.get_field(field_name).verbose_name

Для этого вы можете использовать оба нижеприведенных метода:

@register.simple_tag
def get_verbose_field_name(instance, field_name):
    """
    Returns verbose_name for a field.
    """
    return instance._meta.get_field(field_name).verbose_name

или

@register.simple_tag
def get_verbose_field_name(instance, field_name):
    """
    Returns verbose_name for a field.
    """
    return instance._meta.get_field_by_name(field_name).verbose_name
Вернуться на верх