跳转到主要内容

为Django添加易于使用的Python 3和2.7支持,用于管理静态资产。

项目描述

https://badge.fury.io/py/dj-libcloud.png

为Django添加易于使用的Python 3和2.7支持,用于管理静态资产。这是一个围绕优秀的Apache Libcloud库的包装器。

文档

完整文档在https://dj-libcloud.readthedocs.org

快速入门

Libcloud在让您进行任何操作之前会验证服务器SSL证书。它会搜索您的系统以查找CA证书,如果找不到它,则会崩溃。请参阅https://libcloud.readthedocs.org/en/latest/other/ssl-certificate-validation.html

在Mac OS X上安装CA证书包

# Assuming you are using homebrew for Mac OS X dependency management.
$ brew install curl-ca-bundle

安装dj-libcloud

$ pip install dj-libcloud

然后在项目中使用它,例如用于您的静态文件

# settings.py

STATIC_URL = 'https://s3.amazonaws.com/my-assets/'
STATICFILES_STORAGE = 'djlibcloud.storage.LibCloudStorage'

LIBCLOUD_PROVIDERS = {
    'default': {
        'type': 'libcloud.storage.types.Provider.S3',
        'user': os.environ.get('AWS_ACCESS_KEY'),
        'key': os.environ.get('AWS_SECRET_KEY'),
        'bucket': 'my-assets',
        'secure': True,
    },
}

其他LibCloud提供商

如果您想使用其他libcloud提供商(Rackspace,Openstack,其他AWS中心等),请访问

功能

  • 适用于使用 Python 3.3 和 Django 1.6 上传媒体资源。

  • 理论上支持 libcloud 所有的后端。

常见问题解答

因为你必须提问。

为什么不使用 dj-static 或 whitenoise?

这些是很好的库,但当你处理用户上传的媒体时,它们并不是你想要的。

为什么不直接更新 django-storages?

libcloud 是很棒的,并且有一个专门致力于它的团队。我们可以让它做大部分繁重的工作。另一方面,将 django-storages 转换为与 Python 3 兼容看起来工作量太大。有时候你不得不从头开始,对吧?

dj-libcloud 支持哪些存储提供商?

dj-libcloud 是 libcloud 的包装器,这意味着它支持该库的所有提供商。查看支持提供商的完整列表

我如何贡献?

请阅读http://dj-libcloud.readthedocs.org/en/latest/contributing.html

关于类似 django-pipeline 的压缩器怎么办?

正在努力解决。目前 PipelineCachedCloudStorage 类在第二次运行时会出现问题。请参阅 https://github.com/pydanny/dj-libcloud/issues/7

致谢

非常感谢 Jannis Leidel (@jezdez) 提供了启动此项目的代码。他是一位 Django 核心开发者,Django 静态资产管理的大师,总的来说是个很棒的人。

历史

0.2.0(2014-06-23)

  • 更新了 url 方法,以返回 Rackspace Cloudfiles、Microsoft Azure、Google Storage 和非美国 Amazon SV 的正确值(感谢 Jannis!)

  • 极大地改进了烹饪书(感谢 Jannis!)

  • 从 README 中添加链接到烹饪书

  • 修复了 Google Storage、Rackspace Cloudfiles 和 Microsoft Azure 的 url 方法。同时返回非美国 Amazon S3 存储桶的正确值。

0.1.2 (2014-04-24)

  • 确认与 Python 2.7 兼容

  • 从存储中删除了 django-pipeline 特定的代码

  • 将包含 django-pipeline 的烹饪书添加到文档中

0.1.1 (2014-04-21)

  • 通过仅使用 LibCloudStorage 类解决了第二次运行的问题

  • 使 django-pipeline 可选

  • 删除了不必要的文件

  • 将 TODO 移动到问题跟踪器

0.1.0 (2014-04-21)

  • 在 PyPI 上首次发布。

  • 对 Django 和 Python 3 缺乏简单媒体资源支持的挫败感。

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

dj-libcloud-0.2.0.tar.gz (9.0 kB 查看散列)

上传 源代码

构建分发

dj_libcloud-0.2.0-py2.py3-none-any.whl (9.2 kB 查看散列)

上传 Python 2 Python 3

支持