如何操作django中的用户上传文件而不保存?

时间:2016-06-22 17:57:01

标签: python django heroku

我制作的应用程序从csv文件中获取数据并使用它生成图表。所有文件都包含相同的结构。由于服务器价格的原因,我已经决定不打算存储这些文件。我现在要使用heroku来托管这个应用程序。它是一个Django应用程序。我想知道我怎么只能打开文件并使用django提取它的数据。我考虑过创建模型并在其上保存每个文件内容。我怎样才能做到这一点?这是我的最佳选择吗?

1 个答案:

答案 0 :(得分:3)

我假设您正在使用Django 1.9(如果没有,请更新您的问题以反映您的Django版本)。

首先,使用HTML <form>代码,您希望将enctype="multipart/form-data"作为属性包含在内。

假设您将<input>代码命名为myFile<form name="myFile">),在您的视图中,只需从request.FILES中提取文件:

def my_file_upload(request):
    if request.method == 'POST':
        myFile = request.FILES.get('myFile')
        # At this point, myFile is an instance of UploadedFile, see
        # https://docs.djangoproject.com/en/1.9/ref/files/uploads/ for details

阅读Django文档中的uploaded files,了解与此方法相关的警告。