2012-07-01 64 views

回答

0

這是一個很好的問題; django似乎很堅持你在任何地方使用相同的評論表單。你可以編寫一個單一的表單,根據它實例化的對象顯示不同的字段。試着寫出一個init方法沿着這條線:

class CustomCommentForm(CommentForm): 
    custom_field = forms.CharField(max_length=100) 

    def __init__(self, *args, **kwargs): 
     super(CustomCommentForm, self).__init__(*args, **kwargs) 

     # check what's in kwargs['initial'], and insert fields if needed like this: 
     if ...: 
      self.fields['optional_field'] = forms.CharField(max_length=100)