当发布Django表单时,我对表单数据的更改是los

2024-04-26 20:49:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的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-fobar-bar-bar),但是输入名称中没有前缀,这不是我想要的。在

但是,如果我在__init__部分添加前缀,我将取回没有数据的表单:

# views.py
form1 = OpenForm(prefix=OneForm.Meta.model._meta.module_name, form_data)

我怎样才能得到包含我需要的数据和我添加的前缀的表单的结果?在


Tags: 数据pyform表单datafoomodelsbar
1条回答
网友
1楼 · 发布于 2024-04-26 20:49:14

您不需要从request.POST创建form_data。您可以将表单实例创建为form1 = OneForm(request.POST, prefix=OneForm.Meta.model._meta.module_name)。在

相关问题 更多 >