我在文件夹下有很多文件(例如,'数据集'),这些文件在许多不同的子词典中分开。
我想让用户指定文件夹'数据集'在表单中并上传Django中的所有文件。上传后,Django视图功能将从每个文件中提取一些片段信息并保存到数据库中。我怎样才能做到这一点。
以下是我要上传的文件的结构:
datasets
- subfolder 1
- file1
- file2
- subfolder 1a
- file3
- subfolder 2
- file4
- file5
答案 0 :(得分:0)
此属性提供了一种设置上载目录和文件的方法 名称,可以通过两种方式设置。在这两种情况下,都会传递该值 到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)