Django Forms: pass parameter to form

后端 未结 3 1466
悲哀的现实
悲哀的现实 2020-12-01 06:02

How do I pass a parameter to my form?

someView()..
    form = StylesForm(data_dict) # I also want to pass in site_id here.

class StylesForm(forms.Form):
             


        
3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-01 06:44

    someView()..
            form = StylesForm( 1, request.POST)
    

    in forms.py

    class StylesForm(forms.Form):
         #overwrite __init__
         def __init__(self,site_id,*args,**kwargs):
              # call standard __init__
              super().__init__(*args,**kwargs)
              #extend __init__
              self.fields['height'] =forms.CharField(widget=forms.TextInput(       
                                                         attrs= {'size':site_id}))
    
         height = forms.CharField()
    

    or

    someView()..
                form = StylesForm(site_id = 1)
    

    in forms.py

    class StylesForm(forms.Form):
             #overwrite __init__
             def __init__(self,site_id):
                  # call standard __init__
                  super().__init__()
                  #extend __init__
                  self.fields['height'] =forms.CharField(widget=forms.TextInput(       
                                                             attrs= {'size':site_id}))
        
             height = forms.CharField()
    

提交回复
热议问题