0
我使用init方法在表單中創建ChoiceField以調用另一個填充字段選擇的函數。現在,當用戶選擇下拉列表並提交表單時,我無法用請求成功創建表單,並且我認爲「bound = False」使表單無效。有沒有辦法使用init方法來創建表單域,同時使表單域在請求中傳遞有效。POST?提前致謝。當使用__init__創建字段時,Django形式不受限制
Forms.py
class CoursesForm(forms.Form):
def __init__(self, subject, *args, **kwargs):
super(CoursesForm, self).__init__(*args, **kwargs)
self.fields['course'] = forms.ChoiceField(choices=get_uw_courses_from_subject(subject), required=False)
View.py:處理該提交形式
def display_selection(request):
if request.method == 'POST':
course_form = CoursesForm(request.POST) # <CourseForm bound=False...>
if course_form.is_valid(): # Not valid here
selected_course = course_form.cleaned_data['course']
else:
pass
謝謝!它效果很好! –