Django Forms:将参数传递给表单

2024-04-03

如何将参数传递到我的表单?

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

您应该定义表单的 __init__ 方法,如下所示:

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 ,因此该行:

     height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))

没有意义。创建表单后,您必须将该属性添加到小部件。尝试这样的事情:

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

    height = forms.CharField()

(未测试)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django Forms:将参数传递给表单 的相关文章

随机推荐