2016-04-04 5 views
0

django user_authを使用して自分のフォームに持っている私のユーザ名フィールドには、「30文字以下の文字、数字、下の図に示すように、そのすぐ隣に「_のみ」と表示されます。誰でもどのようにそれを隠すか考えていますか、それがフォームに表示されるのですか? help_text for the form fieldは、そのテキストに設定されているので、テキストがある必須です。 30文字以下 /。/ +/-/_のみ

screenshot

答えて

2

help_text値が設定されている可能性がある他の方法については、Creating forms from models documentationも参照してください。たとえば、モデルフィールドに設定されている可能性があります。

は、おそらくそれがありますのでそこにあるフィールドがform validator入力したユーザー名は、それらのルールに一致した場合のみが通過することをそれに接続されています。

あなたはモデルからフォームを構築している場合は、フォームMetaクラスにhelp_textsを設定することにより、だけこのフィールドを上書きすることができます。

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

属性がテキストにフィールドIDからのマッピングです。 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) 

ありがとうございます。

関連する問題