支持django中的许多存储(s3、mogilefs等)。

django-storages-redux的Python项目详细描述


Django存储

构建状态pypi version

安装

从pypi安装和执行一样简单:

pip install django-storages-redux

如果您希望从源代码安装(可能在master中有一个错误修复程序 尚未发布)那么您要寻找的魔法咒语是:

pip install -e 'git+https://github.com/jschneier/django-storages.git#egg=django-storages'

完成后,将 存储 添加到已安装的应用程序中,并将 默认文件存储设置为 你选择的后端。例如,如果您想使用您设置的S3BOTO后端:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

还有许多设置可用于控制每个存储后端的工作方式, 请查阅文档以获得完整的列表。

关于

Django Storages是一个提供多种存储后端的项目 一个图书馆。这是它维护的、与python 3兼容的fork。原因 因为叉子在下一节中给出。

目前唯一测试过的与python 3兼容的后端是s3 boto。 但其中一些应该可以正常工作(hashpath、symlink、overwrite)。

此库与django>;=1.7兼容。它还应适用于1.6.2+,但不作任何保证。

为什么用叉子?

原始django存储的bitbucket repo没有应用提交 自2014年3月(目前为2014年12月)以来,未发布PYPI 2013年3月,尽管在那一年中应用了大量的错误修复程序 差距。Django Storages项目有很多社区支持 (尤其是S3botostorage)我个人需要一条蟒蛇 兼容版本。

当前存在的所有python3兼容的分叉(还有一些) 在某种程度上缺乏。这可能是因为他们没有 发布到pypi,没有正在进行的测试,没有应用许多重要的错误修复 自分叉后在Bitbucket回购上发生的或不支持旧版本的 python和django的版本(对于发现bug和保持较大的 社区)。为了这个叉子,我做了一些必要的工作 tox+travis ci matrix适用于所有受支持的python+django版本。 在许多情况下,上述几种方法都缺少各种叉子。

找到虫子了吗?不支持的东西?

我怀疑后端的一些存储引擎不受支持 很长一段时间了。我个人只需要S3存储后端,但是 欢迎报告(特别是)其他一些程序的修补程序和测试 后端。

问题通过github问题在项目问题页上跟踪

文档

django storages的原始文档位于http://django-storages.readthedocs.org/" rel="nofollow">http://django-storages.readthedocs.org/。 请继续关注即将到来的文档更新。

Django存储更改日志

1.3.3(2017-06-27)

  • 显示指示新命名空间的警告并将自述文件更新为指向 在新的套餐中。

1.3.2(2016-01-26)

1.3.1(2016-01-12)

  • 一些azure存储修复程序[将内容类型传递到azure,处理分块内容,修复 url ]( \45 )谢谢@erlingbo
  • 添加对Dropbox( Dropbox )存储后端的支持,谢谢@zulupro( \76
  • 对apache libcloud后端的各种修复[返回 所需的字节数。读 ,使 。名称 非私有,不要 初始化为空的bytesio对象]谢谢@kaedroho( \55
  • s3boto 后端修复多部分上传,不考虑 aws_u加密 \94 )谢谢@andersontep
  • 自动gzip svg文件感谢@comandeli( \100

1.3(2015-08-14)

  • 放弃对django 1.5和python2.6的支持
  • 删除以前不推荐的MongoDB后端
  • 从s3boto存储中删除以前不推荐的 解析扩展的
  • 添加对django 1.8+的支持( \36
  • 添加S3BOTO后端的AWS S3 U Proxy_主机和AWS S3 U Proxy_端口设置( \41
  • 修复apache_libcloud中的python3k compat问题( \52
  • 修复google存储后端不尊重gs-is-gzipped设置( \51 \60 )谢谢@stmos
  • 将ftp \u name 属性重命名为 name 这正是django 文件 api所期望的( \70
  • 将storagemixin放在继承中的第一位,以保持与旧版本django的向后兼容( \63

1.2.3(2015-03-14)

  • 各种ftp后端修复程序(fix exists ,add modified\u time ,remove call to non-existent function)(删除对不存在函数的调用)( ;26
  • 显然这一年改为2015年

1.2.2(2015-01-28)

  • 删除"始终显示所有警告"筛选器( \21
  • 将包作为车轮松开
  • 在安装过程中避免资源警告( \20
  • 使 s3botostorage 可解构(以前只有 s3botostoragefile 是可解构的)( \19

1.2.1(2014-12-31)

  • 修正了当aws preload元数据=true时新文件崩溃的修改时间 \11 \12 14
  • 拒绝并发出有关扩展的解析的警告
  • 不推荐MongoDB后端-Django MongoDB引擎现在提供自己的存储后端

1.2(2014-12-14)

  • 将text/javascript mimetype添加到s3botostorage gzip允许的默认值中
  • 添加对S3botoStorage和Apachelibcloud存储中Django 1.7迁移的支持( \5 \8
  • Python3K(3.3+)现在可用于S3boto后端( 4
  • 删除旧版S3存储( 1
  • 删除Mosso文件后端( \2

注意 :1.1.9版是Django Storages在fork之后的第一个版本。 它表示中原始Django存储的当前(2014-12-08)状态 无需额外更改的主控形状。这是代码库的第一个版本 自2013年3月起。

1.1.9(2014-12-08)

  • 用pull请求修复python3的语法
  • 支持通过pull请求将内容类型从文件对象推送到gridfs
  • 支持通过pull请求将区域传递给libcloud驱动程序
  • 句柄尾部斜杠路径修复 188 通过拉请求修复 85
  • 在s3botofile pull请求中使用spooledtemporaryfile保存内存
  • 猜测s3botostoragefile的内容类型,方法与save()相同在s3botostorage中是
  • 在s3botostorage pull request中从url传递头和响应头以生成url
  • 添加了aws_s3_主机、aws_s3_端口和aws_s3_使用_ssl设置来指定主机、端口,并且在拉取请求中是安全的。

下面的所有内容以前都是在django storages下的pypi上发布的

1.1.8(2013-03-31)

  • 修复了关于日期解析、运行collectStatic时的valueerror的 \156
  • 正确处理boto dev版本解析
  • 使sftp url可访问,现在使用settings.media_url而不是sftp://

1.1.7(2013-03-20)

  • 现在,通过使用boto的list()方法的prefix参数,可以防止在s3上列出大型存储桶
  • 对Microsoft azure存储的初始支持
  • 在使用s3boto后端时,切换到使用boto的parse-ts-date解析器获取最后修改的信息
  • s3boto和google存储后端中的固定密钥处理
  • 说明谷歌存储后端缺少多部分上传
  • 修正了使用aws时的seek()问题,该问题由darkness51和pull请求一起捕获。
  • 对s3botostorage和gsbotostorage的改进

1.1.6(2013-01-06)

  • 合并了jannis leidel的许多更改(主要是关于gzipping)
  • Ian Lewis的固定测试
  • jannis leidel增加了对google云存储后端的支持
  • Dan Loewenherz更新了许可证文件,修复了带有拉请求的 133 44
  • 设置用于Gerardo Curiel从文件上载部件的内容类型标题
  • 将rewind参数传递给jannis leidel使用pull请求的boto的set_contents_from_file方法 45
  • 修正了mathieu comandon使用pull请求的ftpstoragefile close()方法
  • Oktay Sancak使用pull请求进行小重构 \48
  • 下载时根据gavin wahl的内容编码取消压缩,并带有pull请求 \46
  • 添加对Tobias McNulty的S3服务器端加密的支持,支持pull请求 17
  • 向boto存储添加可选设置以生成与协议相关的URL,修复了 105

1.1.5(2012-07-18)

  • 来自Freakboy3742 Keith Magee的合并Pull请求,对ApacheLibCloud后端和文档的改进
  • 来自Atodorov的合并拉取请求 35 允许更精细的S3访问设置
  • 在rackspace cloudfiles后端添加对ssl的支持
  • 修复了S3boto后端中的listdir()方法,修复了存储/发布/57" rel="nofollow">57
  • 在s3boto后端添加了安全连接的基本url测试
  • 合并了来自alanjds的pull-request \20 ,修复了aws位置以"/"结尾时的可疑操作警告
  • 已将文件缓冲区大小设置添加到S3BOTO后端
  • 来自pendletongp的合并请求 30 ,解析 108 109 110
  • 更新了modified_time()方法,使其不需要dateutil。修复 111
  • 合并了来自chamal的pull请求,添加了apache libcloud后端
  • 预加载s3元数据时,请确保在保存期间重置files键,以防止元数据过时
  • 从tobias.mcnulty合并的pull请求 24 ,修复了s3boto后端在错误时区返回修改时间的错误
  • 修复了hashpathstorage.location,使其不再使用settings.media\u root
  • 从安装文件中删除下载URL,以便使用PYPI DIST

1.1.4(2012-01-06)

  • 为Mosso后端添加了PendingDeprecationWarning
  • 合并的请求从marcoala添加到sftp存储后端的设置。
  • 合并的拉取请求从ryankack中修复删除远程媒体的hashpathstorage测试
  • 合并的pull请求 10 from key,添加对django mongodb engine 0.4.0或更高版本的支持,修复gridfs文件删除错误
  • 修正了S3botoStorage调用modified_time()时的性能问题
  • 添加了S3后端的弃用警告,参考 \40
  • 修复了cloudfiles_connection_kwargs导入错误,修复了 78
  • 切换到Sphinx文档,将官方文档设置为http://django-storages.rtfd.org/" rel="nofollow">http://django-storages.rtfd.org/
  • hashpathstorage现在使用self.exists,修复了

1.1.3(2011-08-15)

  • 创建了这个可爱的更改日志
  • 修正了在cloudfiles backend中导入stringio的错误
  • 合并了" rel="nofollow">拉取请求5:hashpathstorage path bug

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我能知道文件的哪个条目正在被修改吗?   多线程Java并发线程   java抓取包含多个页面的多个字母标签的网站   为什么if语句不排除Java中的另一个if语句?   Java可序列化哈希映射到ByteArray以创建blob   JavaEclipseLombokBuilder添加新建议   java将文件路径数组转换为文件数组,并计算每个文件的大小   在Java8流中添加大小数   Bouncy Castle 1.46之前版本的java兼容性问题   无法在AWS设备场上运行安卓 Java Appium测试   java为什么不使用mavenwarplugin将键与“WEBINF/classes/METAINF/MANIFEST.MF”合并?   java如何在引用子类的成员时调用super()   找不到java TestFx无头MonoclePlatformFactory   java AbstractMethodError onClientSessionEvent和“缺少控制媒体的权限”   正则表达式如何使用JAVA在字符串的大写字母前插入空格?   我的Spring安全项目中的java BCrypt(Spring安全)   java在我的网站上查看小程序更新时遇到问题   java如何使用schedule方法