首页 > 解决方案 > 是否可以使用 Azure 存储列出目录中的文件

问题描述

我使用 Django 和 django-storages[azure] 作为后端。但我无法找出列出文件的目录,而是我必须使用这样的片段:

block_blob_service.list_blobs(container_name='media', prefix=folderPath)]

这不起作用:

listdir(absoluteFolderPath)

在 storages/backend/azure_storage.py 我发现了这部分:

def listdir(self, path=''):
        """
        Return directories and files for a given path.
        Leave the path empty to list the root.
        Order of dirs and files is undefined.
        """
        files = []
        dirs = set()
        for name in self.list_all(path):
            n = name[len(path):]
            if '/' in n:
                dirs.add(n.split('/', 1)[0])
            else:
                files.append(n)
        return list(dirs), files

但是我该如何使用它呢?

问候克里斯托弗。

标签: djangoazure-storageazure-blob-storagedjango-storage

解决方案


Assuming you have set DEFAULT_FILE_STORAGE you could access it through storage

from django.core.files.storage import default_storage
dirs = default_storage.listdir(absoluteFolderPath)

推荐阅读