Djangoのセレクトボックスのプルダウンから「———」を無くす

Djangoでコメントフォームを作りたく、

その中にセレクトボックスがあるのですが、

newformsでセレクトボックスを生成した場合、

デフォルトで「———」が入ってしまって

参ってました。

その理由として

・セレクトボックスは必ず選択されていたい.
・選択されていないとエラーが出てしまう.

なので、

以前Python温泉でnobuさんから

newformsに関してレクチャーを受けて、

習った事をwikiにまとめたっす。

これはすごぉ〜い勉強になりました。

追記

でもr6733からは、

対応しなくて良くなったみたいw

def formfield(self, form_class=forms.CharField, **kwargs):
“Returns a django.newforms.Field instance for this database Field.”
defaults = {‘required’: not self.blank, ‘label’: capfirst(self.verbose_name), ‘help_text’: self.help_text}
if self.choices:
defaults[‘widget’] = forms.Select(choices=self.get_choices(include_blank=self.blank or not (self.has_default() or ‘initial’ in kwargs)))
if self.has_default():
defaults[‘initial’] = self.get_default()
defaults.update(kwargs)
return form_class(**defaults)

投稿者:

kishir

趣味: sk8, ピスト、ターンテーブル、レコード 仕事: Python, Objective-C, PHP, JavaScript

2 thoughts on “Djangoのセレクトボックスのプルダウンから「———」を無くす”

  1. おぉーtracいろいろと参考になりますー。
    温泉のときのnobuさんのまとめもほしかったので助かりましたー。

    最近tracを使い始めてみたんですがまだ全然把握してません・・・困ったら教えてくださいw

  2. >pateoさん

    どうもぉ~。
    自分もTracを使い始めたばかりの
    初心者なのでw

    でも使ってると便利さに驚くばかりです。

    またみんなで勉強したいっすねぇ~♪

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です