Python 如何向django文件系统存储后端添加多个位置路径?
我试图在Django==1.6.8中创建自定义存储后端,以便根据其他字段中的指定值决定传递到FileField的文件应保存在本地存储中的位置。我知道我可以在初始化FileSystemStorage时设置它的location属性,但在我的情况下不起作用,它为所有实例设置了相同的路径。 我认为定制存储是一个很好的方法。 路径应该完全不同,没有MEDIA_ROOT的子目录,完全不同的绝对路径 我是否可以简单地重写此文件系统存储方法: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:
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属性可以定义任意路径,但它的基本路径不能动态更改,因为它可以接收可调用的文件,从而在该基本路径下构建一个动态路径,但听起来这对于您的用例来说还不够。