Django正在为存储设置自定义路径('str object is not callable')

2024-05-17 04:04:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个自定义的存储类,我正在使用,我试图设置一个不同的路径上传文件,但我不断得到“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.保存调用时,我得到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)

那个自我.csv似乎也不起作用,只是当我设置路径时它也会停止。你知道吗


Tags: csvpathnameselfnonepermissionsreturnmode