在发出新的发布请求后,如何阻止CharField清除其数据?

时间:2018-10-03 13:01:55

标签: python django django-forms django-templates

在另一个发布请求之后,如何阻止char字段清除数据?

我有一个具有两种形式(CharField文本区域小部件)的Django模板。我已经制作了将文本文件上传到相应文本框中的按钮。

如果我按下两个按钮之一,则一个文本框将充满数据,而另一个将被清除。即使提出不同的帖子请求,我如何使两种文本形式都保留其文本内容?

if 'uploaded1' in request.FILES:

    upload1 = request.FILES['uploaded1'].read()
    form.initial['textInput1'] = upload1
    args2 = {'uploaded1': upload1, 'form': form, }
    if upload1:
        return render(request, self.template_name, args2)

if 'uploaded2' in request.FILES:
    upload2 = request.FILES['uploaded2'].read()


    form.initial['textInput2'] = upload2

    args2 = {'uploaded2': upload2, 'form': form, }

    if upload2:
        return render(request, self.template_name, args2)

1 个答案:

答案 0 :(得分:1)

在您的if条件之前添加以下内容:

...
form.initial['textInput1'] = request.POST['textInput1']
from.initial['textInput2'] = request.POST['textInput2']
...

我认为,如果像这样初始化表单实例,就可以避免所有这些情况(不确定,请告诉我是否可行):

form = MyForm(request.POST or None, request.FILES or None)