2016-04-04 2 views
0

Поле моего имени, которое у меня есть в моей форме с помощью django user_auth, отображает: «Обязательно. 30 символов или меньше. Буквы, цифры и @ /./+/-/_ только "рядом с ним, как показано на рисунке ниже. Кто-нибудь знает, как скрыть это или почему он появляется в форме?Требуется. 30 символов или меньше. Буквы, цифры и @ /./+/-/_ only

screenshot

ответ

2

Этот текст есть, потому что help_text for the form field был установлен этот текст. Также см. Creating forms from models documentation другими способами: значение help_text может быть установлено; его можно было бы установить, например, в поле модели.

Предположительно это есть потому, что есть поле, прикрепленное к нему form validator, которое проходит только в том случае, если введенное имя пользователя соответствует этим правилам.

Если вы строите свою форму от модели, вы можете переопределить только это поле, установив help_texts на форме Meta класс:

class YourForm(ModelForm): 
    class Meta: 
     model = SomeModel 
     help_texts = { 
      'username': None, 
     } 

Атрибут является отображение идентификатора поля в текст; установив его на None, вы полностью отключите текст. Учтите, что все валидаторы все равно будут на месте!

Вы также мог бы заменить все поле:

class YourForm(ModelForm): 
    username = forms.RegexField(
     label='Username', 
     max_length=30, 
     regex=r'^[\w-]+$', 
     error_message='This value must contain only letters, numbers, hyphens and underscores.') 

    class Meta: 
     model = SomeModel 

Но читаете раздел нотного Overriding default fields section документации модели форм.

+0

Хорошо, но я не добавил текст справки. Есть ли способ скрыть его в модели, используя только имя поля? – Selena

+0

Вы не сказали нам ничего о том, что вы делаете, как вы создали форму, например. Все, что я могу сделать в этой ситуации, - это указать вам на документацию. –

1

Я решил это, добавив эту строку в мою форму.

username = forms.CharField(help_text=False) 

спасибо.

Смежные вопросы