秦牛云存储Django存储

django-qiniu-storage的Python项目详细描述


Django Qiniu Storage
====================

|Build Status|

Django storage for `七牛云存储 <http://www.qiniu.com/>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

安装
----

::

pip install django-qiniu-storage

配置
----

Django Qiniu Storage
需要以下几个配置才能正常工作。这些配置通过可以环境变量或 settings.py
来设置。环境变量的优先级要高于 settings.py 。

+--------------------------------------+-------------------------------------+
| Django Settings / Environment | 说明 |
| Variable | |
+======================================+=====================================+
| QINIU\_ACCESS\_KEY | 七牛给开发者分配的 AccessKey |
+--------------------------------------+-------------------------------------+
| QINIU\_SECRET\_KEY | 七牛给开发者分配的 Secret |
+--------------------------------------+-------------------------------------+
| QINIU\_BUCKET\_NAME | 用来存放文件的七牛空间(bucket)的名字 |
+--------------------------------------+-------------------------------------+
| QINIU\_BUCKET\_DOMAIN | 七牛空间(bucket)的域名 |
+--------------------------------------+-------------------------------------+
| QINIU\_SECURE\_URL | 是否通过 HTTPS |
| | 来访问七牛云存储上的资源(若为'是', |
| | 可填True, true 或 1;若为'否', |
| | 可填False, false 或 0) 默认为否。 |
+--------------------------------------+-------------------------------------+

关于 HTTPS域名配置的详情, 可以参考七牛官方文档 `如何通过 SSL
的形式来访问七牛云存储上的资源 <http://kb.qiniu.com/https-support>`__

使用指南
--------

Django Storage 入门
~~~~~~~~~~~~~~~~~~~

Django Storage System 是 Django
框架对文件存储系统做的一层抽象。由于不同的 storage system
使用同样的文件读写接口, Django
应用可以轻松地将其文件存储载体替换为本地文件系统, AWS S3, Openstack,
Azue, Mongodb 或七牛云存储 , 而无需改动应用代码。

如果你对 Django 的 Storage 系统尚不熟悉的话, Django 官方文档中的这几篇:
`Managing
files <https://docs.djangoproject.com/en/1.7/topics/files/>`__,
`Managing static
files <https://docs.djangoproject.com/en/1.7/howto/static-files/>`__,
`The staticfiles
app <https://docs.djangoproject.com/en/1.7/ref/contrib/staticfiles/>`__
都是很不错的阅读材料。
建议阅读完后,了解一些基本的概念和配置项的含义后,再来看本教程接下来的内容。

Django 和 storage 相关的
`settings <https://docs.djangoproject.com/en/dev/ref/settings/>`__
有两项: ``STATICFILES_STORAGE`` 和 ``DEFAULT_FILE_STORAGE``
分别对应\ *网站自身的js, css, 图片等静态资源* 和\ *用户上传的文件*.

用例1: 只用七牛托管动态生成的文件(例如用户上传的文件)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

在 settings.py 里设置 ``DEFAULT_FILE_STORAGE`` :

::

DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuStorage'

用例2: 用七牛托管动态生成的文件以及站点自身的静态文件(相当于 CDN)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

首先,检查你的 ``INSTALLED_APPS`` setting, 确保安装了
``django.contrib.staticfiles`` 这个 app。

``staticfiles`` 提供了一个名为 ``collectstatic`` 的命令。 它会收集各个
app 的根目录下的 ``static`` 子目录下的文件, 并汇总到一个地方。如果将
django settings 里的 ``STATICFILES_STORAGE`` 设置为
``QiniuStorage``\ ,\ ``collectstatic``
收集到的静态文件就会被统一上传到七牛。

Documentation
-------------

It's hosted on the `Read The
Doc <http://django-qiniu-storage.readthedocs.org/zh_CN/latest/>`__.

Changelog
---------

- 2.0.0 使用 7.x 版本的 Python SDK。同时支持 Python 2 和 Python 3,
但也因此不再支持 Django 1.4。
- 新建 ”1.x“ 分支。 今后主分支将使用 7.x 版本的 Python SDK。2.x
会同时支持 Python 2 和 Python 3。
- 1.2.0 主要是测试方面的改进。利用 Travic CI 对 (Python 2.6, 2.7)×(
Django 1.4 -1.7) 的每个组合都跑一遍单元测试。
- 1.1.0 加上了比较完整的单元测试。Django 1.7 相关的 bug fix.
- 1.0.1 Bug fix. 使用 6.x版本的 七牛 Python SDK.

License
-------

基于MIT许可证发布

.. |Build Status| image:: https://travis-ci.org/glasslion/django-qiniu-storage.svg?branch=master
:target: https://travis-ci.org/glasslion/django-qiniu-storage


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

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException