ユーザーは POST リクエストを送信できます。ファイルをアップロードするか、サーバーでサンプルを使用します。ファイルの投稿は完璧に機能しますが、2 番目の部分の実装に問題があります。これは私のモデルです:
class UploadFileForm(forms.Form):
file = forms.FileField()
from_server = forms.BooleanField(required=False,initial=False)
私のテンプレート。2つのフォームを使用するのが最善だと思いました。しかし、ビューで受信データのコンテンツ/タイプ/キーを確認できません。
<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))