Я знаю, что это старый, но он заслуживает полного ответа, который можно использовать в шаблонах.
Если вам нужно использовать его в шаблоне, предпочтительным методом является добавление методов модели, которые получают эти значения, например:
from django.db import models
from six import text_type
class ContactData(models.Model):
name = models.CharField(max_length=300, verbose_name=u"Name", help_text=u"Please enter your name...",null=True, blank=False)
phone = models.CharField(max_length=300, verbose_name=u"Phone number", null=True, blank=False)
def __get_label(self, field):
return text_type(self._meta.get_field(field).verbose_name)
def __get_help_text(self, field)
return text_type(self._meta.get_field(field).help_text)
@property
def name_label(self):
return self.__get_label('name')
@property
def name_help_text(self):
return self.__get_help_text('name')
@property
def phone_label(self):
return self.__get_label('phone')
@property
def phone_help_text(self):
return self.__get_help_text('phone')
Затем, скажем, instance
- это ваш объект в шаблоне, это ваша метка
<label for="id_phone">{{ instance.phone_label }}</label>
<div id="id_phone">{{ instance.phone }}</div>
В качестве альтернативы, вы можете создать тег шаблона длясделайте это, но метод модели более понятен и сохраняет самодостаточность модели.