Django form - set label Django form - set label python python

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', )