Django form - set label
You should use:
def __init__(self, *args, **kwargs): super(RegistrationFormTOS, self).__init__(*args, **kwargs) self.fields['email'].label = "New Email Label"
Note first you should use the super call.
Here's an example taken from Overriding the default fields:
from django.utils.translation import ugettext_lazy as _class AuthorForm(ModelForm): class Meta: model = Author fields = ('name', 'title', 'birth_date') labels = { 'name': _('Writer'), } help_texts = { 'name': _('Some useful help text.'), } error_messages = { 'name': { 'max_length': _("This writer's name is too long."), }, }
You can set label
as an attribute of field when you define form.
class GiftCardForm(forms.ModelForm): card_name = forms.CharField(max_length=100, label="Cardholder Name") card_number = forms.CharField(max_length=50, label="Card Number") card_code = forms.CharField(max_length=20, label="Security Code") card_expirate_time = forms.CharField(max_length=100, label="Expiration (MM/YYYY)") class Meta: model = models.GiftCard exclude = ('price', )