14
フォームにパラメータを渡すにはどうすればよいですか?Djangoフォーム:フォームに渡すパラメータ
someView()..
form = StylesForm(data_dict) # I also want to pass in site_id here.
class StylesForm(forms.Form):
# I want access to site_id here
編集、下記の回答に基づいて:もちろん
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
あなたがするまでself.site_idにアクセスすることはできません。
someView()..
form = StylesForm(data_dict, site_id = 1)
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))
:このような何かを試してみてください?私はself.site_idとsite_idを試しました。それは私に誤りを与える。私はブレークポイントを使用していましたが、_init_ – user984003
を通過する前に、すべてのフィールド定義(site_idを使用する必要がある)を通過したようです。self.site_idを使用してフィールドにアクセスしてください。 __init__メソッドは、他のメソッドの前に呼び出されます。ダブルチェックしてください。 –
"name 'self'が定義されていません。 – user984003