読者です 読者をやめる 読者になる 読者になる

プルダウンメニューはCOICEISを使ったほうがいいよねっていう話

とりあえず

よくわからないからこんなHTMLしてたんだ

template.html
  <form method="POST" action="{% url show %}" name="show">
  <select name='point'>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  </select>

まあよくあるプルダウンメニューですね。でもこれでrequest.POST.get('point')してvalueを送信しようとしてもなぜかDBにsave()されない謎バグ?にぶちあった。

CHOICESをつかいましょう

このほうが理にかなってるしすっきりしてるよね!

models.py
UNK_CHOICES = (
 ('1',u'うんこ臭い'),
 ('2',u'それはねーよ'),
 ('3',u'スカトロからの刺客ですがなにか?'),
)
class Unk(models.Model):
    unk = models.CharField(u'あんた、誰よ',max_length=4,choices=UNK_CHOICES)

あとはviews.pyとテンプレートでつかってやるだけですね。簡単ですね!