我已經得到了以下奇怪的問題在Django 1.4:Django的選擇,形成行爲
#forms.py
from django import forms
class MyForm(forms.Form):
my_choices = forms.ChoiceField()
# views.py
def my_view(request):
vchoices = (('a', 'AAAA'),
('b', 'BBBB'),)
form = MyForm()
# version1:
form.my_choices=choices
# version2:
form.my_choices.choices=vchoices
context={'form': form}
return render(request,index.html", {'form': form})
考慮到上述代碼: 如果我使用VERSION1,我得到正確的渲染輸出,當然,沒有選擇在選擇框中。 如果我使用版本2,我得到以下錯誤:
MyForm object has no attribute 'my_choices'
怎麼可能???在版本1中,'my_choices'屬性似乎在那裏,至少django不會抱怨。
第二個問題是: 如果我把我的forms.py通過以下方式
#forms.py
from django import forms
class MyForm(forms.Form):
my_choices = forms.ChoiceField()
my_choices.choices=(('a','aaaa'),('b','bbbb'))
形式正確地呈現,並且下拉框中包含的選擇。
任何想法如何解釋這一點,或如何設置my.choices的屬性選擇在views.py?
非常感謝
在您的第2版中,它正在尋找「屬性」,而不是「字段」來應用選擇。動態設置選項的正確位置在表格 – karthikr 2013-03-08 15:50:33