2012-04-25 86 views
0

我在表單中的Django中有以下代碼。表單字段沒有顯示

class ProductAddToCartForm(forms.Form): 
    quantity = forms.IntegerField(widget=forms.TextInput(attrs={'size':'2', 'value':'1', 'class':'quantity', 'maxlength':'5'}), error_messages={'invalid':'Please enter a valid quantity.'}, min_value =1) 

    product_slug = forms.CharField(widget=forms.HiddenInput()) 

    sizes_available = [] 
    sizes_available.append(7) 
    sizes_available.append(9) 
    size = forms.ChoiceField(widget=forms.Select, choices=sizes_available) 

然而,當我編譯這個ChoiceFieldCharFieldIntegerField沒有顯示出來。當我用size = ...註釋掉該行時,IntegerFieldCharField顯示出來。我認爲我的ChoiceField聲明有問題,但我不確定具體是什麼。

回答

4

https://docs.djangoproject.com/en/1.4/ref/forms/fields/#choicefield

選擇必須是

可迭代的2元組(例如,列表或元組),作爲 該字段選擇使用。

嘗試。 append((7,7))

+0

啊我想我錯過了。謝謝。出於好奇,爲什麼它是這樣設計的? – locoboy 2012-04-25 06:09:34

+0

第一個元素是值(用表單實際發送),而第二個元素是值的詳細描述(詳細名稱) – 2012-04-25 06:34:44