如何将初始值传递给django形式的图像域

时间:2012-01-27 18:33:52

标签: django forms imagefield

目前我使用的是:

initialValues={
    'textField1':'value for text field 1',
    'textField2':'value for text field 2',
    'imageField': someModel.objects.get(id=someId).logo
    }

form = myForm(initial=initialValues)

当我如上所述调用myForm时,初始值将按预期显示:textField1,textField2和imageField(带有选项Currently:linkToImage,Clear复选框和更改:)

但是当我保存表单时,imageField字段中没有保存任何内容(检查数据库,我看到imageField字段为空白)。

我知道我在这里想念一些东西,但我无法弄清楚是什么。有什么提示吗?

2 个答案:

答案 0 :(得分:2)

我通过分配

解决了我的问题
request.FILES['imageField']=someModel.objects.get(id=someId).logo

在我保存表单之前。 Yeey

答案 1 :(得分:0)

创建时需要将数据传递给表单。

initialValues={
    'textField1':'value for text field 1',
    'textField2':'value for text field 2',
    'imageField': someModel.objects.get(id=someId).logo
    }
form = myForm(data=request.POST, initial=initialValues)

如果您还没有这样做,我建议您使用class-based views。使用FormView,您可以轻松覆盖get_initial_data()函数,指定您的值,然后让视图处理要传递给表单的其他内容以保存它。如果您正在尝试保存模型(我认为您是这样),请查看CreateView和UpdateView。

如果我确切知道如何/何时初始化该表格,我可以更加确定这个答案。