2012-07-11 68 views
2
視圖宣佈它

我已經宣佈了下述形式我能傳遞一個變量爲形式,而在Django

form = BudgetPageInitial() 
在我 view.py

,我要的是通過一個變量(比如「X」 )寫入BudgetPageInitial(),以便我可以在forms.py的表單定義中使用該變量來生成'x'個輸入字段,其形式爲BudgetPageInitial

請指導我這樣做。

回答

2

查看

form = MiscQuestionForm(request.POST or None, misc=misc_questions) 

class MiscQuestionForm(BootstrapForm): 

    def __init__(self, *args, **kwargs): 
     misc = kwargs.pop('misc') 
     super(MiscQuestionForm, self).__init__(*args, **kwargs) 

     for question in misc: 
      if question.answer_type == 1: # bool 
       self.fields['custom_%s' % question.pk] = forms.BooleanField(
         label=question, required=True) 
      else: # textfield 
       self.fields['custom_%s' % question.pk] = forms.CharField(
         label=question, widget=forms.Textarea, 
         required=True) 

這是您可以使用變量傳遞給你的表單定義,因爲我有misc的設計模式。

+0

我試圖實現上述。最初它無法識別'BootstrapForm',因此我將其替換爲'forms.Form',但在渲染模板時存在一些問題,您可以向我展示如何爲此窗體實現模板。 – nimeshkiranverma 2012-07-11 09:52:54