如何使用Django

时间:2016-12-14 23:49:33

标签: django file-upload django-models

我在文件夹下有很多文件(例如,'数据集'),这些文件在许多不同的子词典中分开。

我想让用户指定文件夹'数据集'在表单中并上传Django中的所有文件。上传后,Django视图功能将从每个文件中提取一些片段信息并保存到数据库中。我怎样才能做到这一点。

以下是我要上传的文件的结构:

datasets
- subfolder 1
   -  file1
   -  file2
   -  subfolder 1a
       - file3
- subfolder 2
   -  file4
- file5

1 个答案:

答案 0 :(得分:0)

FileField.upload_to定义如下

  

此属性提供了一种设置上载目录和文件的方法   名称,可以通过两种方式设置。在这两种情况下,都会传递该值   到Storage.save()方法。 ... upload_to也可以是可调用的,   比如一个功能。这将被调用以获取上传路径,   包括文件名。这个callable必须接受两个参数和   返回一个Unix样式的路径(带正斜杠)传递给   存储系统。这两个论点是:

所以你需要做的是创建一个函数来检查文件名或它的内容,并决定文件的保存位置

def get_upload_path(instance, filename):
    if filename .... :
        return 'path1'
    else :
        return 'path2'

您的模型将更改为

image = models.FileField(upload_to=get_upload_path)
相关问题