Django - 适用于S3的文件浏览器的替代品

问题描述 投票:2回答:2

Django Filebrowserstorage services效果不佳。

Django Filer上发现的Django Packages似乎是一个不错的选择,但它对存储后端的支持似乎不完整。

我想知道Django的文件浏览器的其他替代方案是什么,可以很好地与S3集成。

django amazon-s3 boto django-storage django-filebrowser
2个回答
0
投票

我在我的项目中使用过https://github.com/bradleyg/django-s3direct。它工作得很好。它也列在你提到的Django Packages网站上。


0
投票

当您包含S3BotoStorageMixin时,此程序包应该能够在S3上运行。

from filebrowser.storage import S3BotoStorageMixin
from storages.backends.s3boto import S3BotoStorage


class CustomS3BotoStorage(S3BotoStorageMixin, S3BotoStorage):
    def path(self, name):
        # Workaround for django-filebrowser, which requests full_path on uploaded files.
        # The operation is not needed at all, since no chmod happens afterwards.
        return self.url(name)

    def isfile(self, name):
        # Hacky performance optimization for filebrowser.
        # The original isdir() method is really inefficient.
        if '.' in name:
            return True
        return super().isfile(name)

settings.py

DEFAULT_FILE_STORAGE = 'myproject.lib.storages.CustomS3BotoStorage'
© www.soinside.com 2019 - 2024. All rights reserved.