万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

    verbose_nameをformに設定する方法 Django

    class UserProfile(models.Model): birthday = models.DateField(verbose_name=u'生年月日')

    のようなModelがあるとして、そこにはverbose_nameを設定している。

    しかし、

    class UserProfileForm(forms.ModelForm):
        """ UserProfileのフォーム """
        slug_field = 'user_slug'
        now = datetime.datetime.now()
        # 10から100歳にする
        DOY = tuple(n for n in range(now.year - 100, now.year - 9))
        birthday = forms.DateField(widget=extras.SelectDateWidget(years=DOY))

    のようにそのModelに対するFromを生成した時に、 デフォルトのbirthday(実際にはBirthday)がフォームに出てしまった。

    django - How to add verbose_name to forms - Stack Overflow

    を見ると、そこではlabelで設定する

        birthday = forms.DateField(widget=extras.SelectDateWidget(years=DOY), label=u'生年月日')

    最初、勘でverbose_nameで出来るだろうと、

        birthday = forms.DateField(widget=extras.SelectDateWidget(years=DOY), verbose_name=u'生年月日')

    としても出来なかったので注意。