我正在使用一个自定义存储类,我试图设置一个不同的路径来将文件上传到其中,但是我不断收到“不可调用Str对象”的信息。
这是我调用自定义类的代码:
fs = DGStorage(user_login=user_login, name=name, content=content, csv=True)
fs.path = os.path.join("/u/vnc/web", "docs", "upload", "csv")
调用fs.save时,出现str对象错误(非常烦人)。我没有在存储类中设置路径,因为它设置了其他名称。
自定义存储模型:
class DGStorage(FileSystemStorage):
def __init__(self, name=None, content=None, user_login=None, location=None, base_url=None,
file_permissions_mode=None, directory_permissions_mode=None, csv=False):
# FileSystemStorage.__init__(self, self.location)
self._location = location
self._base_url = base_url
self._file_permissions_mode = file_permissions_mode
self._directory_permissions_mode = directory_permissions_mode
self.name = name
self.content = content
self.user_login = str(user_login)
self.user_dir = self.user_login + datetime.now().strftime('_%Y%m%d')
self.csv = csv
super(DGStorage, self).__init__()
@property
def user_directory(self):
return safe_join(self.location, 'uploads', self.user_dir)
@property
def get_filename(self):
if not self.name:
self.name = self.content.name
name = self.name
name = name.replace(' ', '_')
return name
def path(self, name=None):
if not name:
name = self.content.name
else:
name = name.replace(' ', '_')
#if self.csv:
# return os.path.join("/u/vnc/web", "docs", "upload", "csv")
return safe_join(self.location, 'uploads', self.user_dir, name)
self.csv似乎也不起作用,当我同样设置路径时,它也会暂停。
答案 0 :(得分:0)
在路径中使用了if语句。没有传递文件名。
我很傻