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)
おぉーtracいろいろと参考になりますー。
温泉のときのnobuさんのまとめもほしかったので助かりましたー。
最近tracを使い始めてみたんですがまだ全然把握してません・・・困ったら教えてくださいw
>pateoさん
どうもぉ~。
自分もTracを使い始めたばかりの
初心者なのでw
でも使ってると便利さに驚くばかりです。
またみんなで勉強したいっすねぇ~♪