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 文档

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 回答