如果用户的配置文件存在,我想用现有数据覆盖我创建的表单,以便用户可以编辑他们可能已经提交的数据。我的代码覆盖表单的init方法,但是当呈现表单时,表单包含文本,但它不可编辑。我需要它是可编辑的
表单代码如下所示:
class ProfileForm(forms.Form):
aboutme = forms.CharField( widget=forms.Textarea )
aboutmeprivate = forms.BooleanField(required=False)
interestsprivate = forms.BooleanField(required=False)
def __init__(self, *args, **kwargs):
super(ProfileForm, self)
self.aboutme = kwargs.pop('aboutme')
self.aboutmeprivate = kwargs.pop('aboutmeprivate')
self.interestsprivate = kwargs.pop('interestsprivate')
这个电话看起来像:
form = ProfileForm(aboutme=exisitingprofile.aboutme, aboutmeprivate=exisitingprofile.aboutmeprivate, interestsprivate=exisitingprofile.interestsprivate)
有人能提供建议吗
你需要这样给予,super应该在self.your_字段后面,而且你缺少了那里的u init
“不可编辑”是指该字段不可单击
解决方案是从视图中修改对表单的调用,如下所示:
我不需要重写构造函数
相关问题 更多 >
编程相关推荐