Migrating from django-sendfile¶
django-sendfile [1] is a wrapper around web-server specific methods for sending files to web clients. See Alternatives and related projects for details about this project.
django-downloadview provides a port of django-sendfile's main function
.
Warning
django-downloadview can replace the following django-sendfile‘s
backends: nginx
, xsendfile
, simple
. But it currently cannot
replace mod_wsgi
backend.
Here are tips to migrate from django-sendfile to django-downloadview...
- In your project’s and apps dependencies, replace
django-sendfile
bydjango-downloadview
. - In your Python scripts, replace
import sendfile
andfrom sendfile
byimport django_downloadview
andfrom django_downloadview
. You get something likefrom django_downloadview import sendfile
- Adapt your settings as explained in Configure. Pay attention to:
- replace
sendfile
bydjango_downloadview
inINSTALLED_APPS
. - replace
SENDFILE_BACKEND
byDOWNLOADVIEW_BACKEND
- setup
DOWNLOADVIEW_RULES
. It replacesSENDFILE_ROOT
and can do more. - register
django_downloadview.SmartDownloadMiddleware
inMIDDLEWARE_CLASSES
.
- replace
- Change your tests if any. You can no longer use django-senfile‘s
development
backend. See Write tests for django-downloadview‘s toolkit. - Here you are! ... or please report your story/bug at django-downloadview’s bugtracker [2] ;)
API reference¶
-
django_downloadview.shortcuts.
sendfile
(request, filename, attachment=False, attachment_filename=None, mimetype=None, encoding=None)¶ Port of django-sendfile’s API in django-downloadview.
Instantiates a
PathDownloadView
to stream the file byfilename
.
References
[1] | http://pypi.python.org/pypi/django-sendfile |
[2] | https://github.com/benoitbryon/django-downloadview/issues |