This document presents other projects that provide similar or complementary functionalities. It focuses on differences with django-downloadview.
Django has a builtin static file view [1]. It can stream files. As explained in Django documentation, it is designed for development purposes. For production, static files’d better be served by some optimized server.
Django-downloadview can replace Django’s builtin static file view:
django-sendfile [2] is a wrapper around web-server specific methods for sending files to web clients.
API is made of a single sendfile() function, which returns a download response. The download response type depends on the chosen backend, which could be Django, Lighttpd’s X-Sendfile, Nginx’s X-Accel...
It seems that django-senfile main focus is simplicity: you call the sendfile() method inside your views.
Django-downloadview main focus is reusability: you configure (or override) class-based views depending on the use case.
As of 2012-04-11, django-sendfile (version 0.3.2) seems quite popular and may be a good alternative provided you serve files that live in local filesystem, because the sendfile() method only accepts filenames relative to local filesystem (i.e. using os.path.exists).
Django-downloadview (since version 1.1) handles file wrappers, and thus allows you to serve files from more locations:
django-private-files [4] provides utilities for controlling access to static files based on conditions you can specify within your Django application.
django-protected-files [5] is a Django application that lets you serve protected static files via your frontend server after authorizing the user against django.contrib.auth.
As of 2012-12-10, this project seems inactive.
References
[1] | https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/#static-file-development-view |
[2] | http://pypi.python.org/pypi/django-sendfile |
[3] | https://pypi.python.org/pypi/requests |
[4] | http://pypi.python.org/pypi/django-private-files |
[5] | https://github.com/lincolnloop/django-protected-files |
Enter search terms or a module, class or function name.