私は、サーバー上にファイルをアップロードするためのdjangoでアプリケーションを開発しています。djangoを使ってファイルをアップロードする
from django import forms
class DocumentForm(forms.Form):
docfile = forms.FileField(
label=''
)
とmodels.pyで:私のHTMLファイル内
from django.db import models
# Create your models here.
class Document(models.Model):
docfile = models.FileField(upload_to='targetdir')
と私、私は別に以下のような形とforms.pyとmodels.pyファイル中のモデル(それぞれ)を定義しています形式は次のとおりです。
<form class="myclass" action="submit" method="post">
{% csrf_token %}
<p>
{{ form.docfile.errors }}
{{ form.docfile }}
</p>
<br />
<input font-size="50px" style="zoom:1.5" class="myclass" dir="rtl" type="submit" value="upload" id="button" class="top-menu" onclick="pythonhandler()" />
今、私は自分のフォームを送信し、私はコード以下を介してサーバ上のアップロードしたファイルを受信したい時はいつでも、私は
」ですraise MultiValueDictKeyError(repr(key))
MultiValueDictKeyError: "'docfile'""
エラー。私のviews.pyファイル:
def pythonhandler(request):
if request.method == 'POST':
try:
data = request.FILES.get('docfile')
with open(os.getcwd()+'/mydirectory/'+request.FILES['docfile'].name, 'wb+') as destination:
for chunk in request.FILES['docfile'].chunks():
destination.write(chunk)
私はthis、thisとthis問題のような工程をしましたが、私は再びこのエラーを受け取りました!
あなたがについてより具体的にすることができますしてくださいあなたのhtmlフォームとviews.py? あなたはこれを読んだか:https://docs.djangoproject.com/en/1.11/topics/http/file-uploads/?たぶん有用かもしれません。 –
私は自分の質問を編集しました。私はあなたの言及されたリンクを読みました、そして、私はそれがその例のようなものだと思います。しかし私はそのエラーについて全く知らない。 – Stateless
request.FILESには、要求メソッドがPOSTであり、要求を送信した