在我的Django应用程序中,我有一个page.html
,其中包括来自多个模型的表单,如下所示:
# models.py
class OneModel(models.Model):
foo = models.CharField(...)
bar = models.CharField(...)
# forms.py
class OneForm(forms.ModelForm):
class Meta:
model = OneModel
保存时,除了POST数据外,我还为所有表单添加前缀,例如:
^{pr2}$然后,我发送要保存的POST
请求,并将下一个数据发送到__init__
表单:
# views.py
form_data = {'foo': 'fo-fo-fo', # from request.POST
'bar': 'bar-bar-bar'} # -//-//-
form1 = OneForm(form_data) # without prefix
之后,当模板被组合在一起时,我从表单中获得输入,其中包含我的数据(fo-fo-fo
,bar-bar-bar
),但是输入名称中没有前缀,这不是我想要的。在
但是,如果我在__init__
部分添加前缀,我将取回没有数据的表单:
# views.py
form1 = OpenForm(prefix=OneForm.Meta.model._meta.module_name, form_data)
我怎样才能得到包含我需要的数据和我添加的前缀的表单的结果?在
您不需要从
request.POST
创建form_data
。您可以将表单实例创建为form1 = OneForm(request.POST, prefix=OneForm.Meta.model._meta.module_name)
。在相关问题 更多 >
编程相关推荐