我试图在Django == 1.6.8中创建自定义存储后端,以便决定传递给FileField的文件应保存在本地存储中的位置取决于来自其他字段的指定值。我知道我可以在初始化时设置FileSystemStorage的位置属性,但它在我的情况下不起作用,它为所有实例设置相同的路径。 我认为自定义存储https://docs.djangoproject.com/en/1.6/howto/custom-file-storage/#是一种很好的方法。 路径应该完全不同,没有MEDIA_ROOT的子目录,完全不同的绝对路径。
我可以简单地覆盖这个FileSystemStorage方法:
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)
...不知何故?这是个好主意吗? 请帮忙!