Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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
Python 如何向django文件系统存储后端添加多个位置路径?_Python_Django_Storage_Models_Backend - Fatal编程技术网

Python 如何向django文件系统存储后端添加多个位置路径?

Python 如何向django文件系统存储后端添加多个位置路径?,python,django,storage,models,backend,Python,Django,Storage,Models,Backend,我试图在Django==1.6.8中创建自定义存储后端,以便根据其他字段中的指定值决定传递到FileField的文件应保存在本地存储中的位置。我知道我可以在初始化FileSystemStorage时设置它的location属性,但在我的情况下不起作用,它为所有实例设置了相同的路径。 我认为定制存储是一个很好的方法。 路径应该完全不同,没有MEDIA_ROOT的子目录,完全不同的绝对路径 我是否可以简单地重写此文件系统存储方法: def path(self, name): try:

我试图在Django==1.6.8中创建自定义存储后端,以便根据其他字段中的指定值决定传递到FileField的文件应保存在本地存储中的位置。我知道我可以在初始化FileSystemStorage时设置它的location属性,但在我的情况下不起作用,它为所有实例设置了相同的路径。 我认为定制存储是一个很好的方法。 路径应该完全不同,没有MEDIA_ROOT的子目录,完全不同的绝对路径

我是否可以简单地重写此文件系统存储方法:

def path(self, name):
    try:
        path = safe_join(self.location, name)
    except ValueError:
        raise SuspiciousFileOperation("Attempted access to '%s' denied." % name)
    return os.path.normpath(path)
不知怎的?这是个好主意吗?
请帮忙

您是否介意分享拥有完全不同的绝对目标目录的用例?正如您所提到的,FileSystemStorage的location属性可以定义任意路径,但它的基本路径不能动态更改,因为它可以接收可调用的文件,从而在该基本路径下构建一个动态路径,但听起来这对于您的用例来说还不够。