Предотвращение капитализации в 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