A file management application for django that makes handling of files and images a breeze.
To get started using django-filer simply install it with pip:
$ pip install django-filer
Add "filer" and "easy_thumbnails" to your project's INSTALLED_APPS setting and run syncdb (or migrate if you're using South).
django-filer supports permissions on files. They can be enabled or disabled. Files with disabled permissions are your regular world readable files in MEDIA_ROOT. Files with permissions are a other case however. To be able to check permissions on the file downloads a special view is used and they are saved in a separate location (in a directory called smedia next to MEDIA_ROOT by default).
filer.server.urls needs to be included in the root urls.py:
urlpatterns += patterns('', url(r'^', include('filer.server.urls')), )
By default files with permissions are served directly by django. That is acceptable in a development environment, but very bad for performance in production. See the docs on how to serve files more efficiently.
For automatic subject location aware cropping of images replace easy_thumbnails.processors.scale_and_crop with filer.thumbnail_processors.scale_and_crop_with_subject_location in the THUMBNAIL_PROCESSORS setting:
THUMBNAIL_PROCESSORS = ( 'easy_thumbnails.processors.colorspace', 'easy_thumbnails.processors.autocrop', #'easy_thumbnails.processors.scale_and_crop', 'filer.thumbnail_processors.scale_and_crop_with_subject_location', 'easy_thumbnails.processors.filters', )