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

| |Build Status|
| |Latest Version|
| |License|

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

Install
-------

::

    pip install django-qiniu-storage

Configurations
--------------

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)的域名                 |
+------------------------------------------+----------------------------------------+

Usage
-----

如果你对 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/恩/1.7/ref/contrib/staticfiles/>`__
都是很不错的阅读材料。 建议阅读完后， 再看本教程。

用例1： 只用七牛托管动态生成的文件（例如用户上传的文件）
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

::

    DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuStorage'

用例2： 用七牛托管动态生成的文件以及站点自身的静态文件
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

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

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
.. |Latest Version| image:: https://pypip.in/version/django-qiniu-storage/badge.svg
   :target: https://pypi.python.org/pypi/django-qiniu-storage/
.. |License| image:: https://pypip.in/license/django-qiniu-storage/badge.svg
   :target: https://pypi.python.org/pypi/django-qiniu-storage/
