Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django自定义文件存储路径_Django - Fatal编程技术网

django自定义文件存储路径

django自定义文件存储路径,django,Django,我想从视图中动态设置文件存储路径,而不考虑实际的媒体根路径。这可能吗。我已经研究了自定义存储对象,并且了解了自定义upload_to方法调用。目前,我有一个方法,在指定ImageField模型upload_to时调用该方法。这使我可以更改media_根目录中的目录。我曾尝试对重写的FileSystemStorage类执行类似的操作,但无论它设置为什么,我认为在我可以在视图中修改它之前,它都已绑定。如果fileupload处理程序是一种方法,那么我想知道如何实现它。如果您在upload\u to中

我想从视图中动态设置文件存储路径,而不考虑实际的媒体根路径。这可能吗。我已经研究了自定义存储对象,并且了解了自定义upload_to方法调用。目前,我有一个方法,在指定ImageField模型upload_to时调用该方法。这使我可以更改media_根目录中的目录。我曾尝试对重写的FileSystemStorage类执行类似的操作,但无论它设置为什么,我认为在我可以在视图中修改它之前,它都已绑定。如果fileupload处理程序是一种方法,那么我想知道如何实现它。

如果您在
upload\u to
中指定的路径以
/
开头,那么它将被视为绝对路径。通过此操作,您可以设置所需的任何路径,而无需考虑
MEDIA\u ROOT

您可以在视图中执行此操作
path=default\u storage.save(filePath,ContentFile(file))
其中filePath是您需要存储的文件路径,file是用户上传的文件。此函数将通过存储文件返回路径

file = request.FILES['filee']
filePath = '%s/%s' % ('path/to/directory', file.name)
file = file.read()
path = default_storage.save(filePath, ContentFile(file))