Django如何处理任何一种形式的内容?

2024-05-23 20:18:14 发布

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

用户可以提交POST请求。通过上传文件或使用服务器上的示例。发布文件的作品完美,但我有麻烦实施的第二部分。这是我的模型:

class UploadFileForm(forms.Form):
    file  = forms.FileField()
    from_server = forms.BooleanField(required=False,initial=False) 

我的模板。我认为最好用两种形式。但是我没有在我的视图中检查传入数据的内容/类型/键。你知道吗

<div class="fieldWrapper">
    <form action="flot" enctype="multipart/form-data" method="post">{% csrf_token %}
        <label for="id_file">File:</label>
        {{ form.file }}
        <input id="upload" type="submit" value="Upload">
</form>
</div>

<div class="fieldWrapper">
<form action="flot" method="post">{% csrf_token %}
    <label for="id_from_server">Gebuik een sample file op de server</label>
             {{ form.from_server }}
        <input id="server" type="submit" value="Go" name="Go">
        <!--<input id="upload" type="submit" value="Go">-->
</form>
</div>

这是我的观点。我不知道如何准确地检查他们从哪个表格提交的数据。最后一次尝试见request.POST.getlist('Go')。测试方面,我将返回一个Http404。你知道吗

if request.method == 'POST':
    form = UploadFileForm(request.POST, request.FILES)
    if form.is_valid(): 
        if 'Go' in request.POST.getlist('Go'): 
            raise Http404 
        else:
            err, line_z1, line_z2 = handle_uploaded_file(request.FILES['file'])
            if err == None:
                return render_to_response('flot.html',
                                          {
                                          'form': form,
                                          'line1':simplejson.dumps(line_z1),
                                          'line2':simplejson.dumps(line_z2)
                                          },
                                          context_instance=RequestContext(request))
    else:
        form = UploadFileForm()
        return render_to_response('flot.html',
        {'form': form,
         'error': err
         },
         context_instance=RequestContext(request))

else:
    form = UploadFileForm()
    return render_to_response('flot.html',
                             {'form': form},
                             context_instance=RequestContext(request))

Tags: divformidgoifserverrequestline