Skip to main content

django middleware for serving media files ( or protect them )

Project description

[![Build Status](https://travis-ci.org/instapk/django-fileprovider.svg?branch=master)](https://travis-ci.org/instapk/django-fileprovider)

File handler for django, useful when you want to add control or logic to served files.
It uses `sendfile` supports on different servers and uses pythonic solution on django development server.
Currently it supports,

* Apache
* Nginx
* LightHttpd
* Caddy
* Hiawatha

# INSTALLATION

use pip to install package:
`pip install django-fileprovider`

* add `fileprovider` to django `INSTALLED_APPS` section.
* add `fileprovider.middleware.FileProviderMiddleware` to `MIDDLEWARE_CLASSES` section
* set django `settings` file with `FILEPROVIDER_NAME` any of available providers `python`, `nginx`, `apache`, `lighthttpd`,
`caddy`, `hiawatha`, `xsendfile`, `xaccel`.

```python

# or you can put FILEPROVIDER_NAME as python in your local settings file
if settings.DEBUG:
FILEPROVIDER_NAME = "python"
else:
# or apache, lighthttpd, caddy
FILEPROVIDER_NAME = "nginx"

```

# USAGE

on django views where file response is required, fill response header `X-File` with absolute file path
for example,

```python

def hello(request):
response = HttpResponse()
response['X-File'] = '/absolute/path/to/file'
return response
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-fileprovider-0.1.3.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file django-fileprovider-0.1.3.tar.gz.

File metadata

File hashes

Hashes for django-fileprovider-0.1.3.tar.gz
Algorithm Hash digest
SHA256 574cb1f1e489e8fa6d492fa54b276a0a617b1c82cd1300820468925914e8f617
MD5 78b5ecd699fc3a01598f2bde1c982186
BLAKE2b-256 2f8c1e3e51e8ece00dade0e952c23cfefd1b8cb02a8bfd45f3397c34294d150a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page