htmlタグのオプションはIDでもclassでもnameでも良いのですが、複数追加できるようにしたいです。
どの様な方法があるでしょうか?
生成したいHTMLイメージ
HTML
1<form> 2 <div> 3 <label>ハンバーガー</label> 4 <select> 5 <option class="cheese putty tomato">チーズバーガー</option> 6 <option class="cheese fish mayo">フィッシュバーガー</option> 7 <option class="cheese chicken">チキンバーガー</option> 8 </select> 9 </div> 10</form>
modelです
python
1#models.py 2 3class Topping(models.Model): 4 name = models.CharField(max_length=20,unique=True) 5 6 def __str__(self): 7 return self.name 8 9 10class Hamburger(models.Model): 11 name = models.CharField(max_length=20,unique=True) 12 topping = models.ManyToManyField(Topping) 13 14 def __str__(self): 15 return self.name 16 ) 17
とりあえずこのようにすると、全てのラジオボックスのオプションがclass = toppingとなります
python
1#forms.py 2hamburger = forms.ModelChoiceField( 3 label='ハンバーガー', 4 queryset=Hamburger.objects.all(), 5 widget = forms.RadioSelect(attrs={'class':'topping'}), 6 empty_label=None, 7 )
上記の例で実際に生成されるHTML
HTML
1<form> 2 <div> 3 <label>ハンバーガー</label> 4 <select> 5 <option class="topping">チーズバーガー</option> 6 <option class="topping">フィレオフィッシュバーガー</option> 7 <option class="topping">チキンバーガー</option> 8 </select> 9 </div> 10</form>
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。