2011-09-17 16 views
2

私はdjangoforms.ModelFormを使用してdjango形式を持っています。私が必要とするフィールドの1つはFileFieldです。私はフォームにアップロードされたファイルを渡す方法を理解しようとしています。GAE ModelFormのrequest.FILESの使用

私のようなものを使用しようとしてきた

:しかし、私は次のエラーを取得

def post(self): 
    form = StudentForm(data=self.request.POST, files=self.request.FILES) 

を:

Traceback (most recent call last): 
    File "/<appengine_dir>/google_appengine/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__ 
    handler.post(*groups) 
    File "/<project_dir>/app/handlers/students.py", line 22, in post 
    form = StudentForm(data=self.request.POST, files=self.request.FILES) 
    File "/<appengine_dir>/google_appengine/lib/webob/webob/__init__.py", line 500, in __getattr__ 
    raise AttributeError(attr) 
AttributeError: FILES 

を私は特にジャンゴ1.2を指定している、と私は私の中でenctype="multipart/form-data"セットを持っています形。私が紛失しているものは他にありますか?

最も近い質問はUploading files to App Engine using webapp and Django formsでした。

私の場合は、事前にフィールド名を知っていて、投稿されたのと同じ方法でOKです。しかし、私はそれを理解することができませんでしたか、それを動作させる。

ご協力いただき誠にありがとうございます。ありがとう!

答えて

0

我々はあなたが言及した他の質問に、このようになります(テストしていません)への回答を合わせる場合:

from django.core.files.uploadedfile import SimpleUploadedFile 

upload = self.request.params['field_name'] 
django_files_dict = {'field_name': SimpleUploadedFile(upload.filename, 
                 upload.file.read())} 
form = StudentForm(data=self.request.POST, files=django_files_dict) 

それは動作しますか?どのようなエラーメッセージが表示されないのですか?

+0

ありがとうございます!私は前にこのようなものを試しました。今回は別のエラーメッセージが表示されます:http://pastebin.com/BF4gK1e8 –

関連する問題