4

フォームにFileFieldがあり、モデルがない状態でdjangoにファイルをアップロードすることは可能ですか? これまでのところ、モデルを使用した例しか見つけることができませんでした。データベースにそのためのテーブルを作成したくありません。ファイルをアップロードしたいだけです。私のフォーム:

class csvUploadForm(forms.Form):
    csvFile = forms.FileField(label='Select a CSV file to upload.', help_text='help')

ありがとうございました、

ロマン

4

2 に答える 2

7

Django Documentationから再現された例。

from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response

def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['file'])
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render_to_response('upload.html', {'form': form})

def handle_uploaded_file(f):
    destination = open('some/file/name.txt', 'wb+')
    for chunk in f.chunks():
        destination.write(chunk)
    destination.close()

「some/file/name.txt」を、そのファイルを保存する他のパスに置き換えることができます。

于 2013-06-01T17:42:42.497 に答える
0

これについては、Django ドキュメントのファイル アップロードセクションで説明されています。つまり、 でUploadedFile指定されたインスタンスを使用しますrequest.FILES

于 2012-12-04T13:52:48.133 に答える