django上传文件没有型号

时间:2012-12-04 13:42:42

标签: django file upload

是否可以使用表单中的FileField上传django中的文件,但没有模型?到目前为止,我只能找到一个模型的例子。我不想在我的数据库中为它创建一个表,我只想上传一个文件。 我的表格:

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

谢谢,

罗曼

2 个答案:

答案 0 :(得分: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'替换为您要存储该文件的其他路径。

答案 1 :(得分:0)

这包含在Django文档的File Uploads部分中。简而言之,请使用UploadedFile中提供的request.FILES实例。