【问题标题】:Django - Alternatives To File Browser that Work Well With S3Django - 与 S3 配合良好的文件浏览器的替代品
【发布时间】:2013-02-21 11:02:44
【问题描述】:

Django Filebrowser 不适用于storage services

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

我想知道 Django 文件浏览器与 S3 集成良好的其他替代方案。

【问题讨论】:

    标签: django amazon-s3 boto django-storage django-filebrowser


    【解决方案1】:

    我在我的项目中使用了https://github.com/bradleyg/django-s3direct。效果很好。它也列在您提到的 Django Packages 网站上。

    【讨论】:

      【解决方案2】:

      当您包含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'
      

      【讨论】:

      • 我们应该在哪里以及如何添加 mixin。指导将不胜感激。
      猜你喜欢
      • 1970-01-01
      • 2010-12-28
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      相关资源
      最近更新 更多