Django フォームのフィールドとラベル間の(:)コロンを表示させないようにしたい!

Djangoでフォームを作成時、フィールドとラベルの間にコロン(:)が自動で付加されて表示されます。
これを自動付加させない方法を紹介します。

Django フォームのフィールドとラベル間の(:)コロンについて

まずどのような問題点であるかというと

name = forms.CharField(label="項目")

forms.pyに上記のように入力すると、次のように表示されます。

ラベル「項目」とテキストボックスの間にコロンが表示されています。

Django フォームのフィールドとラベル間の(:)コロンを非表示とする

forms.pyに次のようなコンストラクタを追加します。

class SampleForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.label_suffix = " "

    name = forms.CharField(label="項目")

次のように表示されます。

これで間のコロンは消えました!
間にコロン以外を表示させたい場合は「self.label_suffix」に代入する文字列を変更すれば可能です。

コメント