Migrating from django-sendfile
django-sendfile 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 by
django-downloadview.
- In your Python scripts, replace import sendfile and from sendfile
by import django_downloadview and from django_downloadview.
You get something like from django_downloadview import sendfile
- Adapt your settings as explained in Configure. Pay attention to:
- replace sendfile by django_downloadview in INSTALLED_APPS.
- replace SENDFILE_BACKEND by DOWNLOADVIEW_BACKEND
- setup DOWNLOADVIEW_RULES. It replaces SENDFILE_ROOT and can do
more.
- register django_downloadview.SmartDownloadMiddleware in
MIDDLEWARE_CLASSES.
- 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 ;)
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 by filename.
References