6
我正在嘗試爲ChoiceField創建一個動態的選項列表,但我似乎無法調用請求。下面的代碼:Django +表單:ChoiceField的動態選擇
的錯誤:
AttributeError: 'CreationForm' object has no attribute 'request'
形式
class FooForm(forms.Form):
def __init__(self, *args, **kwargs):
super(FooForm, self).__init__(*args, **kwargs)
bars = self.request.session['bars']
foo_list = []
for bar in bars:
foo_list.append((bar['id'], bar['name']),)
self.fields['foo'].choices = foo_list
foo = forms.ChoiceField(choices=foo_list, required=True)
感謝您的回答。我想避免分離這兩個操作,但似乎沒有其他方式... – user1909186
方法的問題是,當您在另一個視圖中調用表單實例上的is_valid()時,沒有選擇傳遞,因此is_valid ()總是返回False – samix73
我們怎樣才能重用FormView這個特殊的窗體?通常,FormView在實例化Form時不接受參數...我是否必須編寫FormView的自定義特化? –