2012-08-27 10:00:17 +00:00
|
|
|
###################
|
2013-02-06 17:59:22 +00:00
|
|
|
django-downloadview
|
2012-08-27 10:00:17 +00:00
|
|
|
###################
|
|
|
|
|
|
2013-04-11 13:02:45 +00:00
|
|
|
Django-DownloadView provides generic views to make Django serve files.
|
|
|
|
|
It supports delegation to the actual streaming to reverse proxies, via
|
|
|
|
|
mechanisms such as Nginx's X-Accel.
|
2012-08-27 10:00:17 +00:00
|
|
|
|
|
|
|
|
Example, in some urls.py:
|
|
|
|
|
|
2012-08-27 15:25:24 +00:00
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
from django.conf.urls import url, url_patterns
|
|
|
|
|
from django_downloadview import ObjectDownloadView
|
2012-12-10 10:05:28 +00:00
|
|
|
from demoproject.download.models import Document # A model with a FileField
|
2012-08-27 15:25:24 +00:00
|
|
|
|
|
|
|
|
|
2012-08-27 15:33:33 +00:00
|
|
|
# ObjectDownloadView inherits from django.views.generic.BaseDetailView.
|
|
|
|
|
download = ObjectDownloadView.as_view(model=Document, file_field='file')
|
2012-08-27 15:25:24 +00:00
|
|
|
|
|
|
|
|
url_patterns = ('',
|
2012-08-27 15:33:33 +00:00
|
|
|
url('^download/(?P<slug>[A-Za-z0-9_-]+)/$', download, name='download'),
|
2012-08-27 15:25:24 +00:00
|
|
|
)
|
2013-02-06 15:18:37 +00:00
|
|
|
|
|
|
|
|
Several views are provided to cover frequent use cases:
|
|
|
|
|
|
2013-04-11 13:02:45 +00:00
|
|
|
* ``ObjectDownloadView`` to serve some file field of a model.
|
|
|
|
|
* ``StorageDownloadView`` to serve files in a storage, without models.
|
|
|
|
|
* ``PathDownloadView`` to serve files located on local filesystem, without
|
|
|
|
|
storage.
|
|
|
|
|
* ``HTTPDownloadView`` to proxy some remote URL.
|
|
|
|
|
* ``VirtualDownloadView`` to serve in-memory or generated files.
|
2013-02-06 15:18:37 +00:00
|
|
|
|
|
|
|
|
See :doc:`views` for details.
|
|
|
|
|
|
|
|
|
|
Then get increased performances with :doc:`optimizations/index`.
|
2012-08-27 10:00:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
**********
|
|
|
|
|
Ressources
|
|
|
|
|
**********
|
|
|
|
|
|
2013-03-20 15:27:58 +00:00
|
|
|
* Documentation: http://django-downloadview.readthedocs.org
|
2012-08-27 10:00:17 +00:00
|
|
|
* PyPI page: http://pypi.python.org/pypi/django-downloadview
|
2013-03-20 15:27:58 +00:00
|
|
|
* Code repository: https://github.com/benoitbryon/django-downloadview
|
|
|
|
|
* Bugtracker: https://github.com/benoitbryon/django-downloadview/issues
|
|
|
|
|
* Continuous integration: https://travis-ci.org/benoitbryon/django-downloadview
|