3

目前我正在使用类似的东西:

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(带有选项 Current: linkToImage、Clear check box 和 Change: )

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

我知道我在这里错过了一些东西,但我不知道是什么。有小费吗?

4

2 回答 2

2

我通过分配解决了我的问题

request.FILES['imageField']=someModel.objects.get(id=someId).logo

就在我保存表格之前。耶

于 2012-02-03T19:54:15.490 回答
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)

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

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

于 2012-01-28T10:12:00.910 回答